Bash
cd 到一個目錄,當它的路徑作為命令輸入時(而不是“foo 是一個目錄”錯誤)
我討厭什麼時候
bash
給我“呃!” 錯誤類型:foo$ ./bar -bash: ./bar: is a directory
我曾經喜歡 AmigaOS shell,其中“執行”一個目錄僅僅意味著將其設置為目前目錄:
foo$ ./bar bar$
有可能
bash
嗎?(當然沒有無限數量的別名。)
Bash 4.0 有這個
autocd
選項。從官方常見問題解答:
有一個新的 ‘autocd’ 選項,當啟用時,會導致 bash 嘗試 ‘cd’ 到作為簡單命令的第一個單詞提供的目錄名。
此外,請查看至少早在 2.0 以來的任何版本的
CDPATH
環境變數。man bash
它允許您cd
通過在列出的目錄中搜尋命令中指定的目錄來縮短命令cd
。
不了解 bash,但這在 zsh 中是可能的。
# ~/.zshrc setopt autocd
編輯:您可能可以在 bash 中處理此問題,就像 ubuntu 擷取未找到的命令一樣
# bashrc function command_not_found_handle { if [ -d $1]; then cd $1 else echo command not found fi }