例如,當使用 Bash 命令列時,我可以使用以下命令更改目錄:
cd /volumes
不過我想輸入...
cd /vol*
但這行不通。有沒有辦法使用通配符導航目錄?
答案1
Mac OS 預設使用不區分大小寫的檔案系統。cd /volumes
等價於cd /Volumes
,但 bash 無法通配vol*
: trycd /Vol*
答案2
正如 @William Pursell 所說,這是因為該資料夾被命名為 /Volumes,而不是 /volumes; OS X 檔案系統不區分大小寫,因此它忽略差異,但 bash 區分大小寫並忽略差異。
但是您可以更改 bash 的預設行為:要使其執行不區分大小寫的檔案模式擴展,請將命令添加shopt -s nocaseglob
到~/.bashrc 和~/.bash_profile 檔案中(兩者都需要它,因此在兩個登錄shell 中都設定了該選項)和子殼)。如果您也希望在大小寫不符的情況下完成文件名補全,請新增set completion-ignore-case on
至 ~/.inputrc 文件,或新增bind "set completion-ignore-case on"
至 ~/.bashrc 和 ~/.bash_profile 檔案。
答案3
打字:
cd /vol*
作品正好。即使/vol*
擴展到多個目錄,bash
也會使用第一個目錄並忽略其餘目錄。到底什麼不適合你?