Anda harus mengaktifkan extglob
.
Misalkan kita memiliki tiga direktori:
$ ls -d */
current/ future/ past/
Tanpa glob yang luas, hal-hal berikut tidak akan dipahami:
$ echo !(current)
bash: syntax error near unexpected token `('
Jika kami mengaktifkan extglob
, maka dipahami:
$ shopt -s extglob
$ echo !(current)
future past
Ini berhasil cocok dengan semua file kecuali current
.
Perhatikan bahwa tanda seru, !
, adalah karakter bash-active. Itu bisa memanggil ekspansi sejarah yang, jika gagal, menghasilkan kesalahan yang Anda amati. Jika Anda tidak menggunakan ekspansi riwayat, Anda mungkin ingin mematikannya: set +H
.