답변:
shopt -q 사용 :
shopt -q extglob && echo enable || echo disable
-q
옵션은 shopt
출력 을 버리고 상태를 반환하여 옵션이 설정 또는 설정 해제되었음을 나타냅니다.
참고 shopt
만에 나타날 수있는 옵션을보고 BASHOPTS
변수는, 그 옵션에 유효하지 않은 set
명령을 내장.
에 유효 set
하거나에 나타날 수있는 옵션을 확인하려면 다음을 SHELLOPTS
사용하십시오 shopt -qo
.
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob
?
shopt extglob
와 당신의 접근 방식이 stdout에 기록됩니다. 당신은 생각하고 shopt -q extglob && shopt -u extglob || shopt -s extglob
있습니까?
shopt -q extglob && : Code when enable || : Code when disable
입니다.
bash에는 두 가지 옵션 목록이 있습니다. 에 대한 shopt
하나 set
.
옵션 extglob
은 shopt
목록에 속합니다 .
그 값이 하나를 사용하여 인쇄 될 수있다 shopt extglob
나 shopt -p extglob
.
같은 옵션 nounset
이 set
목록에 속합니다 .
그 값을 사용하여 인쇄 될 수있다 shopt -op nounset
나 shopt -o nounset
.
shopt에 대한 특정 옵션을 변경하지 않고 인쇄하려면 shopt -p name
다음을 사용하십시오 .
$ shopt -p xpg_echo
shopt -u xpg_echo
그리고 대한 set
사용 : shopt -po name
(예, 당신은 사용할 수 있습니다 shopt -op
에 대한 set
목록).
$ shopt -po xtrace
set +o xtrace
shopt의 모든 옵션을 나열하려면 shopt
(또는 재사용 가능 shopt -p
)을 사용하십시오.
또한 shopt -s
또는 shopt -u
사용될 수있다.
모든 옵션을 나열하는 방법 set
은 set -o
(관련 :) set +o
입니다.
또는 : shopt -o
에 해당 set -o
하고 shopt -op
이다 set +o
.
보낸 사람 LESS=+/'^ *shopt \[' man bash
:
옵션이 없거나 -p 옵션을 사용하면 설정 가능한 모든 옵션 목록이 표시됩니다. optname 인수없이 -s 또는 -u를 사용하면 표시는 각각 설정 또는 설정 해제 된 옵션으로 제한됩니다.
보낸 사람 LESS=+/'^ *set \[' man bash
:
option-name없이 -o를 제공하면 현재 옵션의 값이 인쇄됩니다. option-name없이 + o가 제공되면 현재 옵션 설정을 다시 작성하기위한 일련의 set 명령이 표준 출력에 표시됩니다.
$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
pipefail off
posix off
privileged off
verbose off
vi off
xtrace off
과
$ shopt -sp
shopt -s checkwinsize
shopt -s cmdhist
shopt -s expand_aliases
shopt -s extglob
shopt -s extquote
shopt -s force_fignore
shopt -s histappend
shopt -s histverify
shopt -s interactive_comments
shopt -s progcomp
shopt -s promptvars
shopt -s sourcepath
shopt -op
실제로 어떤 set
옵션을 나열하는지 언급 할 가치가 있습니다.
$ shopt -op
set +o allexport
set -o braceexpand
set -o emacs
set +o errexit
set +o errtrace
set +o functrace
set -o hashall
set -o histexpand
set -o history
set +o ignoreeof
set -o interactive-comments
set +o keyword
set -o monitor
set +o noclobber
set +o noexec
set +o noglob
set +o nolog
set +o notify
set +o nounset
set +o onecmd
set +o physical
set +o pipefail
set +o posix
set +o privileged
set +o verbose
set +o vi
set +o xtrace
shopt -s extglob
하거나, 원한다면 그것을 실행하십시오shopt -u extglob
. 원래 있던지 여부에 관계없이 아무런 차이가 없습니다.