我真的不知道在閱讀glob (programming)的結果打印下面的命令在shell中,我使用(bash)作爲我的shell。鑑於此目錄層次結構:爲什麼glob`* [!t] *`返回名稱包含`t`的文件?
/sub2
s.py
t2.txt
nametoname.txt
bees.txt
/sub22
$ echo *[!t]*
bees.txt nametname.txt s.py sub22 t2.txt
在我的理解的參數echo
將擴大到匹配不包含字母T的任何文件名,但結果卻完全相反,爲什麼?
該命令輸出所有文件名是包含字母t:
$ echo *[t]*
nametname.txt t2.txt
在前面的命令我只是否定[t]
到[!t]
,然後在我的期望它應該做的第二個命令相反。
你或許應該使用'-name',不'這裏-iname',要與水珠的情形相一致嚴格。 – kojiro
感謝@kojiro,有道理。我編輯過。 – anubhava
然後我可以說'echo * [t] *'將匹配包含至少一個t的任何文件名。 – direprobs