EDYCJA 2: nawet wykonanie "ls *()" powoduje, że bash nie zwraca i używa 100% jednego procesora. Czy ktoś wie, dlaczego bash to robi?Przekazywanie "*()" jako argumentu do programu w bash
Uczyłem się C i poznałem argumenty i zastanawiałem się, jakie postacie robią dziwne rzeczy, gdy są przekazywane jako argumenty. Zdałem "*()" bez cudzysłowów do programu C przez bash jak:
$ ./program *()
atakujących nie można zrezygnować z ctrl C i Ctrl z. Kiedy patrzyłem na htop, używałem 100% jednego procesora i musiałem SIGKILL go. Czy ktoś wie, co się tutaj dzieje? Jestem po prostu ciekaw.
EDIT: nawet prosty program
#include <stdio.h>
int main(int argc, char *argv[]){ return 0; }
przyczyn tego zachowania.
jaki to był program? –
Powinieneś dostać błąd składniowy z 'bash' z powodu niecytowanych nawiasów. – chepner
@chepner 'ls *()' nie robi nic użytecznego w moim systemie, ale nie dostaję błędu od basha o nawiasach – hetepeperfan