`bash -c mycommand arg1 arg2`의 매개변수 [닫기]

`bash -c mycommand arg1 arg2`의 매개변수 [닫기]

Bash 매뉴얼에서

bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_option] -c string [argument ...]

-c명령 읽기 및 실행옵션이 아닌 첫 번째 매개변수 옵션을 처리한 후 종료합니다.나머지 매개변수로 시작하는 위치 인수에 할당됩니다 $0.

  1. -c옵션이 옵션 매개변수를 사용합니까, 아니면 옵션 매개변수를 사용하지 않습니까? 옵션 매개변수가 필요한 것 같습니다.

    -c" 명령 읽기 및 실행"이라고 말하는 이유는 무엇입니까?옵션이 아닌 첫 번째 매개변수"대신에 옵션 매개변수에서 -c"?

    예를 들어, 다음 명령에서 mycommand의 옵션 매개변수는 입니까, 아니면 ? 의 비옵션 매개변수입니까?-cbashbash

    bash -c mycommand
    
  2. 하다"나머지 매개변수bash"는 ?의 옵션이 아닌 모든 매개변수를 나타냅니다.

    다음 명령에서 옵션이 아닌 인수 arg1와 명령줄 인수가 arg2전달되고 bash사용되는 것이 올바른가요?bashmycommandmycommand

    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.


이 모든 문제는 조금만 노력하면 해결될 것 같습니다.

관련 정보