
현재 쉘에 어떤 옵션이 활성화되어 있는지 확인하고 싶습니다. 예를 들어, 다른 옵션을 -x
사용 하여 호출되었는지 알고 싶습니다 .-e
나는 source
shebang 줄이 있는 쉘 스크립트를 작성 하고 나중에 스크립트 끝에 #!/bin/bash -x
a를 사용하여 'x'를 끄려고 시도합니다 . set +x
이제 내 라인이 성공했는지 확인하고 싶습니다 set +x
.
시도된 솔루션
나는 현재 쉘에 대한 일부 정보를 조사하는 방법을 발견했지만 printenv
둘 다 저장 등을 set
하는 변수를 포함하지 않는 것 같습니다 .x
e
답변1
변수 에 있습니다 $-
.
참조set
명령 에 대한 문서-- 끝까지 아래로 스크롤하면 "현재 옵션 세트는 에서 찾을 수 있습니다 $-
."가 표시됩니다.
빠른 데모
$ bash
$ echo $-
himBH
$ set -f; set +H
$ echo $-
fhimB
$ [[ $- == *i* ]] && echo This is an interactive shell
This is an interactive shell
답변2
그리고 .$BASHOPTS
$SHELLOPTS