當 glob 與任何東西都不匹配時的行為

製備

$ mkdir globbing
$ cd globbing
$ mkdir -p folder/{sub,another}folder/content/deepfolder/
touch macy stacy tracy "file with space" folder/{sub,another}folder/content/deepfolder/file .hiddenfile
$ shopt -u nullglob
$ shopt -u failglob
$ shopt -u dotglob
$ shopt -u nocaseglob
$ shopt -u extglob
$ shopt -u globstar

如果 glob 不匹配任何東西,結果由 nullglobfailglob 選項決定。如果它們都沒有設定,如果沒有匹配,Bash 將返回 glob 本身

$ echo no*match
no*match

如果 nullglob 被啟用則沒有返回任何內容(null):

$ shopt -s nullglob
$ echo no*match

$

如果 failglob 被啟用,則返回錯誤訊息:

$ shopt -s failglob
$ echo no*match
bash: no match: no*match
$

請注意,failglob 選項取代 nullglob 選項,即,如果 nullglobfailglob 都設定了,則 - 如果不匹配 - 則返回錯誤。