$- 옵션은 언제 어디서 설정됩니까?

$- 옵션은 언제 어디서 설정됩니까?

내가 원하는 초기 설정$-바꾸다. 어떤 파일에서 언제부터?

답변1

어떤 파일에서 언제부터?

셸이 호출되는 방식에 따라 set구성 파일에 명령 호출이 있을 수 있습니다(예 : /etc/bash.bashrc또는 ./etc/profile~/.bashrc

bash 매뉴얼을 인용하면 다음과 같습니다.

-호출 시 set 내장 명령 또는 쉘 자체(예: -i 옵션)에 의해 설정된 현재 옵션 플래그로 확장됩니다.

즉, 일부 옵션은 다음에 따라 달라집니다.어떻게쉘이 호출되면(로그인 쉘 또는 대화식 쉘) 일부 옵션은 쉘 자체에 의해 설정되며(즉, 기본 옵션임) 수동으로 설정되는 옵션도 있습니다. 내장된 set부품은 간단합니다. 예를 들어 사용자가 제어할 수 있습니다.

$ echo $-
himBHs
$ set -b
$ echo $-
bhimBHs

또는 쉘이 읽을 구성 파일에서 사용될 수 있습니다.

참고하시면 될 것 같아요로그인 쉘과 비로그인 쉘의 차이점은 무엇입니까?그리고대화형 로그인과 비대화형 비로그인 쉘 구별. 이 두 기사에서는 쉘 호출 방법의 큰 차이점을 다루고 있지만 terdon의 후속 기사에서는 로그인 쉘과 비로그인 쉘에 대한 옵션 설정에 대한 좋은 예를 보여줍니다. 또한 적절한 옵션을 설정하기 위해 쉘이 이를 호출하는 방법을 어떻게 아는지 궁금할 것입니다. 그런데 이런 글이 있습니다.Bash는 그것이 어떻게 호출되었는지 어떻게 알 수 있습니까?:

일반적으로 bash는 로그인 프로그램이 이를 호출할 때 bash에게 이름이 -bash라고 알려주기 때문에 이것이 로그인 쉘임을 알고 있습니다. 이름은 0번째 명령줄 인수 argv[0]에 있습니다.

앞서 언급했듯이 일부 옵션은 기본값입니다. 예를 들어,

-m 모니터 모드. 작업 제어가 활성화되었습니다. 대화형 셸의 경우 이 옵션은 기본적으로 활성화되어 있습니다.이를 지원하는 시스템에서는 -h 실행을 위해 검색될 때 명령의 위치가 기억됩니다. 이 기능은 기본적으로 활성화되어 있습니다.

앞서 언급했듯이 쉘은 호출 방법과 활성화 여부를 확인할 수 있습니다 -m.

관련 정보