"옵션 처리 후 남은 인수가 없는 경우"를 어떻게 이해합니까?

"옵션 처리 후 남은 인수가 없는 경우"를 어떻게 이해합니까?

Basy 매뉴얼에는 다음 명령에 대해 나와 있습니다 bash.

-에스

이 옵션이 있는 경우 또는옵션 처리 후 남은 인수가 없는 경우를 누른 다음 표준 입력에서 명령을 읽습니다. 이 옵션을 사용하면 대화형 쉘을 호출할 때 위치 매개변수를 설정할 수 있습니다.

"옵션 처리 후 남은 매개변수가 없는 경우"를 어떻게 이해하는지 알고 싶습니다.

예를 들어, bash -c "echo hello"명령은 표준 입력에서 읽히지 않으며, "echo hello"옵션에 대한 인수 -c이고 옵션 처리가 옵션과 해당 인수를 처리하기 때문에 "옵션 처리 후 인수가 남지 않습니다".

감사해요.

답변1

Bash 매뉴얼에서 문장 또는 이 경우 문장의 일부를 가져와서 그 자체로 의미가 있다고 기대할 수는 없습니다. 맨페이지의 "ARGUMENTS" 섹션이나 마지막 단락을 읽어야 합니다."Bash 호출" 섹션:

옵션 처리 후에 인수가 있고 옵션 -c이나 -s옵션이 모두 제공되지 않은 경우 첫 번째 인수는 쉘 명령이 포함된 파일의 이름으로 간주됩니다(참조:쉘 스크립트). Bash가 이런 방식으로 호출되면 $0위치 인수는 파일 이름과 나머지 인수로 설정됩니다. Bash는 이 파일에서 명령을 읽고 실행한 다음 종료됩니다. Bash의 종료 상태는 스크립트에서 실행된 마지막 명령의 종료 상태입니다. 명령이 실행되지 않으면 종료 상태는 0입니다.

-c"옵션 처리 후 인수가 남지 않은 경우"는 그 반대이므로 그 효과는 및 옵션의 효과 와 함께 이해해야 합니다 -s. 을 지정하면 -c우선순위가 적용됩니다.

옵션이 아닌 첫 번째 인수에서 명령을 읽고 실행합니다.명령 문자열을 누른 다음 종료합니다. 나중에 논란이 된다면명령 문자열, 첫 번째 인수는 위치 인수에 할당되고 $0나머지 인수는 위치 인수에 할당됩니다. 할당은 $0경고 및 오류 메시지에 사용되는 셸의 이름을 설정합니다.

그렇다면 "옵션 처리 후 남은 인수가 없는 경우"를 어떻게 이해해야 합니까?

  • 쉘이 인수와 입력(특히 -c) 을 처리하는 방법을 결정하는 -s효과를 포함한 모든 옵션을 처리합니다.
  • 완료한 후에도 셸의 동작이 아직 수정되지 않았고 인수가 없으면...

관련 정보