Jawaban:
Lari saja:
$ shopt extglob
Ini akan mengembalikan status saat ini:
$ shopt extglob
extglob on
$ shopt -u extglob
$ shopt extglob
extglob off
Untuk menampilkan semua opsi, jalankan:
$ shopt
Gunakan shopt -q :
shopt -q extglob && echo enable || echo disable
-qopsi buat shoptbuang output, dan kembalikan status untuk menunjukkan bahwa opsi disetel atau tidak disetel.
Perhatikan bahwa shopthanya opsi laporan yang dapat muncul dalam BASHOPTSvariabel, opsi tersebut tidak valid untuk setperintah builtin.
Untuk memeriksa opsi yang valid setatau dapat ditampilkan SHELLOPTS, gunakan shopt -qo:
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob?
shopt extglobdan pendekatan Anda akan menulis ke stdout. Apakah Anda memikirkannya shopt -q extglob && shopt -u extglob || shopt -s extglob?
shopt -q extglob && : Code when enable || : Code when disable.
Ada dua daftar opsi di bash. Satu untuk shoptdan satu untuk set.
Opsi tersebut extglobtermasuk dalam shoptdaftar.
Nilainya dapat dicetak dengan menggunakan salah satu shopt extglobatau shopt -p extglob.
Opsi suka nounsettermasuk dalam setdaftar.
Nilainya dapat dicetak dengan menggunakan shopt -op nounsetatau shopt -o nounset.
Untuk mencetak opsi tertentu (tanpa mengubahnya) untuk shopt, gunakan shopt -p name:
$ shopt -p xpg_echo
shopt -u xpg_echo
Dan untuk set, gunakan: shopt -po name(ya, Anda dapat menggunakan shopt -opuntuk setdaftar).
$ shopt -po xtrace
set +o xtrace
Untuk daftar semua opsi dari shopt, gunakan shopt(atau dapat digunakan kembali shopt -p).
Juga shopt -satau shopt -ubisa digunakan.
Cara membuat daftar semua opsi setadalah dengan set -o(terkait:) set +o.
Atau: shopt -osama dengan set -odan shopt -opsama dengan set +o.
Dari LESS=+/'^ *shopt \[' man bash:
Tanpa opsi, atau dengan opsi -p, daftar semua opsi yang dapat diatur ditampilkan, Jika salah satu -s atau -u digunakan tanpa argumen optname, tampilan dibatasi untuk masing-masing opsi yang ditetapkan atau tidak disetel.
Dari LESS=+/'^ *set \[' man bash:
Jika -o diberikan tanpa nama-opsi, nilai-nilai dari opsi saat ini dicetak. Jika + o diberikan tanpa nama-opsi, serangkaian perintah yang ditetapkan untuk menciptakan kembali pengaturan opsi saat ini ditampilkan pada output standar.
$ 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
Dan
$ 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
Perlu disebutkan tentang shopt -opyang sebenarnya mencantumkan setopsi:
$ 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 extglobatau, jika Anda menginginkannya, jalankanshopt -u extglob. Tidak ada bedanya sama sekali apakah itu pada awalnya atau tidak.