“$-”안에“s”가 무엇입니까?


10

나는 일반적으로의 내용을 잘 알고 $-있습니다. 최근 CentOS에서 나는 다음을 얻습니다.

[grochmal@orion ~]$ echo $-
himBH

hmBH모두에서 옵션입니다 set, 그리고 i내 껍질이 상호 작용하는 것을 수단.

그러나 내 아치 리눅스에서 나는 다음을 얻었습니다.

[grochmal@haps ~]$ echo $-
himBHs

난 아무것도 유용한에서 찾을 수 없습니다 man bashset -s나에게 오류를 제공합니다. 그게 무슨 뜻입니까 s?

답변:


13

-s옵션과 함께 bash는 시작 호출입니다 -s, 표준 "수단"에서 소스 명령 "매뉴얼에서. :

-s -s 옵션이 존재하거나 옵션 처리 후에 인수가 남아 있지 않으면 표준 입력에서 명령을 읽습니다. 이 옵션을 사용하면 대화식 쉘을 호출 할 때 위치 매개 변수를 설정할 수 있습니다.

테스트하기가 매우 쉽습니다.

$ bash -c 'echo $-'
hBc

$ bash -sc 'echo $-'
hBcs

모든 이전 bash 버전에 대해 새 쉘을 시작하면 기본적으로 해당 옵션이 설정되지 않습니다.

$ b32sh -li
$ echo $-
himBH

그러나 bash 4.4에 있습니다.

$ b44sh -li
$ echo $-
himBHs

그리고 두 번째 부분은 내가 왜 그것을 아치에 넣었는지 설명합니다. 내 CentOS의 값 BASH_VERSION은 4.2.46 (1) 릴리스이며 아치에서는 4.4.5 (1) 릴리스입니다.
grochmal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.