Bash 通配隱藏文件

Bash 通配隱藏文件

我正在 bash shell 中嘗試以下 glob:

$ ls -d .*
.  ..  .a  .ab
$ ls .a*
.a  .ab
$ ls .[!.]*
.a  .ab
$ ls .[!.]?*
.ab

最後一個表達式不應該表示「一個點後面跟著一個非點,後面跟著零個或多個字元」嗎?為什麼匹配失敗.a

答案1

你誤會了。它的意思是「一個點後跟一個非點,後面跟著一個字符,後面跟著零個或多個字符」。.a沒有足夠的字元來匹配它。

但實際上,只需設定即可dotglob

相關內容