위치 매개변수를 사용하여 새 셸 시작

위치 매개변수를 사용하여 새 셸 시작

Python을 사용하면 위치 인수를 사용하여 세션을 시작할 수 있습니다.

$ python3 - aa
>>> import sys
>>> sys.argv[1]
'aa'

그러나 이는 쉘에서는 불가능해 보입니다.

$ sh - aa
sh: aa: No such file or directory

위치 매개변수를 사용하여 새 쉘을 시작하는 방법은 무엇입니까?

답변1

이 옵션을 사용할 수 있습니다 -s. ~에서POSIX 설명sh:

sh -s [-abCefhimnuvx] [-o option]... [+abCefhimnuvx] [+o option]...
       [argument...]

-s
Read commands from the standard input.
If there are no operands and the -c option is not specified, the -s option shall be assumed.

그래서:

% sh -s foo bar
sh-3.2$ echo "$@"
foo bar

관련 정보