Bash 매뉴얼에서
bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_option] -c string [argument ...]
-c
명령 읽기 및 실행옵션이 아닌 첫 번째 매개변수 옵션을 처리한 후 종료합니다.나머지 매개변수로 시작하는 위치 인수에 할당됩니다$0
.
-c
옵션이 옵션 매개변수를 사용합니까, 아니면 옵션 매개변수를 사용하지 않습니까? 옵션 매개변수가 필요한 것 같습니다.-c
" 명령 읽기 및 실행"이라고 말하는 이유는 무엇입니까?옵션이 아닌 첫 번째 매개변수"대신에 옵션 매개변수에서-c
"?예를 들어, 다음 명령에서
mycommand
의 옵션 매개변수는 입니까, 아니면 ? 의 비옵션 매개변수입니까?-c
bash
bash
bash -c mycommand
하다"나머지 매개변수
bash
"는 ?의 옵션이 아닌 모든 매개변수를 나타냅니다.다음 명령에서 옵션이 아닌 인수
arg1
와 명령줄 인수가arg2
전달되고bash
사용되는 것이 올바른가요?bash
mycommand
mycommand
bash -c mycommand arg1 arg2
다음 두 명령은 동일합니까? 그들 사이의 차이점은 무엇입니까?
bash -c mycommand arg1 arg2 bash -c 'mycommand arg1 arg2'
감사해요.
답변1
-c
"옵션 인수에서" 대신 "옵션이 아닌 첫 번째 인수에서 명령을 읽고 실행"이라고 말하는 이유는 무엇입니까-c
?예를 들어,
bash -c mycommand
mycommand'는 bash 옵션 -c의 옵션 매개변수입니까, 아니면 bash의 비옵션 매개변수입니까?
이는 옵션이 아닌 매개변수입니다 bash
. 이를 확인하려면 그 사이에 더 많은 옵션을 추가하면 됩니다.
bash -c -i 'echo 1'
존재하다
bash -c mycommand arg1 arg2
bash의 옵션이 아닌 인수 arg1 및 arg2가 bash에 의해 mycommand에 전달되고 mycommand에 대한 명령줄 인수로 사용된다는 것이 맞습니까?
아니요, 다시 시도해 보세요.
bash -c echo arg1 arg2
다음 두 명령은 동일합니까? 그들 사이의 차이점은 무엇입니까?
bash -c mycommand arg1 arg2 bash -c 'mycommand arg1 arg2'
그것들은 동일하지 않습니다. 하나, mycommand arg1 arg2
달리기. 또 다른 mycommand
실행 에서 Bash는 자신을 호출 arg1
하며 $1
이는 입니다 arg2
.
이 모든 문제는 조금만 노력하면 해결될 것 같습니다.