대화형 쉘을 시작하는 모든 방법을 나열할 수 있습니까?

대화형 쉘을 시작하는 모든 방법을 나열할 수 있습니까?

Bash 매뉴얼은 다음과 같이 말합니다:

대화형 셸은 옵션 인수가 아닌 인수 없이 시작됩니다.-s를 지정하지 않는 한, -c 옵션을 지정하지 않고 입력과 출력이 터미널에 연결되거나(isatty(3)에 의해 결정됨) -i 옵션으로 시작됩니다.

"-s가 지정되지 않은 경우"가 어디에 적용되는지 궁금합니다.

  • "옵션이 아닌 인수 없음" 또는
  • "-c 옵션을 지정하지 않고"?

대화형 셸을 시작하는 모든 방법을 열거하기 위해 인용문을 좀 더 명확하게 바꿔주실 수 있나요? (혼자서 시작할 수 있다는 점은 분명 -i하지만 설명을 인용하는 다른 방법은 잘 모르겠습니다.)

감사해요.

답변1

" -s지정되지 않은 경우"는 "옵션이 아닌 인수 없음"을 의미합니다. 요약 은 다음 bash과 같습니다

bash [options] [command_string | file]

옵션이 아닌 매개변수는 command_string또는 입니다 file. 이들 중 하나를 지정하면 -s별도로 지정하지 않는 한 결과 쉘은 대화형이 아닙니다 -c. -s인수가 해석되는 대신 위치 인수에 할당되도록 합니다.

bash -s arg1 arg2

대화형 셸을 열고

echo $*

산출

arg1 arg2

따라서 다음 명령 중 하나를 사용하여 대화형 Bash 셸을 열 수 있습니다.

  1. 표준 입력 및 출력이 터미널에 연결되어 있고 옵션이 아닌 인수가 지정되지 않았는지 확인하십시오.
  2. 표준 입력 및 출력 이 터미널에 연결되어 있는지 확인하고 -s;-c
  3. 지정되었습니다 -i.

-c-s를 모두 지정하면 -c이것이 우선 적용됩니다(더 먼저 처리됩니다). 결과 쉘은 비대화형이며 지정된 명령을 처리합니다.

관련 정보