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
-q
opsi buat shopt
buang output, dan kembalikan status untuk menunjukkan bahwa opsi disetel atau tidak disetel.
Perhatikan bahwa shopt
hanya opsi laporan yang dapat muncul dalam BASHOPTS
variabel, opsi tersebut tidak valid untuk set
perintah builtin.
Untuk memeriksa opsi yang valid set
atau dapat ditampilkan SHELLOPTS
, gunakan shopt -qo
:
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob
?
shopt extglob
dan 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 shopt
dan satu untuk set
.
Opsi tersebut extglob
termasuk dalam shopt
daftar.
Nilainya dapat dicetak dengan menggunakan salah satu shopt extglob
atau shopt -p extglob
.
Opsi suka nounset
termasuk dalam set
daftar.
Nilainya dapat dicetak dengan menggunakan shopt -op nounset
atau 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 -op
untuk set
daftar).
$ shopt -po xtrace
set +o xtrace
Untuk daftar semua opsi dari shopt, gunakan shopt
(atau dapat digunakan kembali shopt -p
).
Juga shopt -s
atau shopt -u
bisa digunakan.
Cara membuat daftar semua opsi set
adalah dengan set -o
(terkait:) set +o
.
Atau: shopt -o
sama dengan set -o
dan shopt -op
sama 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 -op
yang sebenarnya mencantumkan set
opsi:
$ 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
atau, jika Anda menginginkannya, jalankanshopt -u extglob
. Tidak ada bedanya sama sekali apakah itu pada awalnya atau tidak.