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 셸을 열 수 있습니다.
- 표준 입력 및 출력이 터미널에 연결되어 있고 옵션이 아닌 인수가 지정되지 않았는지 확인하십시오.
- 표준 입력 및 출력 이 터미널에 연결되어 있는지 확인하고
-s
;-c
- 지정되었습니다
-i
.
-c
및 -s
를 모두 지정하면 -c
이것이 우선 적용됩니다(더 먼저 처리됩니다). 결과 쉘은 비대화형이며 지정된 명령을 처리합니다.