bashシェルプロパティが設定されているかどうかを確認するには? [コピー]

bashシェルプロパティが設定されているかどうかを確認するには? [コピー]

set -o posixBash シェルの POSIX プロパティが設定されます。

特定のプロパティが設定されていることをどのように確認できますか?

答え1

Bashには2つのオプションのリストがあります。に一つshopt、に一つset

オプションを確認してください。

shoptの特定のオプションを変更せずに印刷するには、次のようにしますshopt -p name

$ shopt -p xpg_echo
shopt -u xpg_echo

の場合は、以下setを使用してください。 (はい、リストをshopt -po name使用できます。)shopt -opset

$  shopt -po xtrace
set +o xtrace

オプションを一覧表示します。

shoptのすべてのオプションを一覧表示するには、使用shopt(または再利用shopt -p)してください。
shopt -s可能shopt -u

すべてのオプションをリストする方法は、(関連:)setを使用することです。または:等しいと等しい。set -oset +o
shopt -oset -oshopt -opset +o

手動

からLESS=+/'^ *shopt \[' man bash

オプションがない場合、または-pオプションを使用すると、設定可能なすべてのオプションのリストが表示されます。 optname引数なしで-sまたは-uを使用すると、表示はそれぞれ設定または設定解除されたオプションに制限されます。

からLESS=+/'^ *set \[' man bash

-o がオプション名を指定しない場合、現在のオプションの値を出力します。 +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

答え2

次のようなものを使用してください

if shopt -qo posix ; then

このオプションをオフにするには、次を使用します。

set +o posix

詳細についてはman bashhelp setおよびを参照してください。help shopt

関連情報