2010-10-21 8 views

Odpowiedz

13

od człowieka-stronie bash:

-c string If the -c option is present, then commands are read from 
      string. If there are arguments after the string, they are 
      assigned to the positional parameters, starting with $0. 

Przykład:

$ bash -c ls 

rozpocznie bash i wykonać polecenie ls.

/bin/sh jest zwykle dowiązaniem symbolicznym do powłoki.

+1

Czym to się różni od bez '-c'? – user3155368

+1

Możesz przekazać skrypt jako argument, 'bash myScript', ale otworzy on' myScript' i zinterpretuje polecenia. To nie jest to samo co 'bash -c someCommand'. Porównaj, co się stanie, jeśli na przykład zrobisz "bash ls" i "bash -c ls". – aioobe

+0

/bin/sh -c grep "rdzeń procesora"/proc/cpuinfo | uniq | sed -e 's/[^ 0-9] Powyższe polecenie nie daje pożądanego rezultatu. Dlaczego tak jest? mając na uwadze, że: /bin/sh -c ls | grep c działa dobrze. Nie dostaję tego dziwnego zachowania. Byłoby wspaniale, gdybyś mógł to również wyjaśnić. –