쉘 옵션을 확인하는 방법은 무엇입니까?

쉘 옵션을 확인하는 방법은 무엇입니까?

현재 쉘에 어떤 옵션이 활성화되어 있는지 확인하고 싶습니다. 예를 들어, 다른 옵션을 -x사용 하여 호출되었는지 알고 싶습니다 .-e

나는 sourceshebang 줄이 있는 쉘 스크립트를 작성 하고 나중에 스크립트 끝에 #!/bin/bash -xa를 사용하여 '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

원천

관련 정보