作者 | Sk
譯者 | geekpi ? ? 共計翻譯:665 篇 貢獻時間:1594 天
我知道你可以按下向上箭頭來調出你執行過的命令,然後使用左/右鍵移動到拼寫錯誤的單詞,並更正拼寫錯誤的單詞,最後按回車鍵再次執行它,對嗎?可是等等。還有一種更簡單的方法可以糾正 GNU/Linux 中拼寫錯誤的 Bash 命令。這個教程解釋瞭如何做到這一點。請繼續閱讀。
在 Linux 中糾正拼寫錯誤的 Bash 命令
你有沒有執行過類似於下麵的錯誤輸入命令?
$ unme -r
bash: unme: command not found
你註意到了嗎?上面的命令中有一個錯誤。我在 uname
命令缺少了字母 a
。
我在很多時候犯過這種愚蠢的錯誤。在我知道這個技巧之前,我習慣按下向上箭頭來調出命令,並轉到命令中拼寫錯誤的單詞,糾正拼寫錯誤,然後按回車鍵再次執行該命令。但相信我。下麵的技巧非常易於糾正你剛剛執行的命令中的任何拼寫錯誤。
要輕鬆更正上述拼寫錯誤的命令,只需執行:
$ ^nm^nam^
這會將 uname
命令中將 nm
替換為 nam
。很酷,是嗎?它不僅糾正錯別字,而且還能執行命令。檢視下麵的截圖。
當你在命令中輸入錯字時使用這個技巧。請註意,它僅適用於 Bash shell。
額外提示:
你有沒有想過在使用 cd
命令時如何自動糾正拼寫錯誤?沒有麼?沒關係!下麵的技巧將解釋如何做到這一點。
這個技巧只能糾正使用 cd
命令時的拼寫錯誤。
比如說,你想使用命令切換到 Downloads
目錄:
$ cd Donloads
bash: cd: Donloads: No such file or directory
哎呀!沒有名稱為 Donloads
的檔案或目錄。是的,正確的名稱是 Downloads
。上面的命令中缺少 w
。
要解決此問題併在使用 cd
命令時自動更正錯誤,請編輯你的 .bashrc
檔案:
$ vi ~/.bashrc
最後新增以下行。
[...]
shopt -s cdspell
輸入 :wq
儲存並退出檔案。
最後,執行以下命令更新更改。
$ source ~/.bashrc
現在,如果在使用 cd
命令時路徑中存在任何拼寫錯誤,它將自動更正併進入正確的目錄。
正如你在上面的命令中看到的那樣,我故意輸錯(Donloads
而不是 Downloads
),但 Bash 自動檢測到正確的目錄名並 cd
進入它。
Fish[1] 和 Zsh shell 內建的此功能。所以,如果你使用的是它們,那麼你不需要這個技巧。
然而,這個技巧有一些侷限性。它只適用於使用正確的大小寫。在上面的例子中,如果你輸入的是 cd donloads
而不是 cd Donloads
,它將無法識別正確的路徑。另外,如果路徑中缺少多個字母,它也不起作用。
via: https://www.ostechnix.com/easily-correct-misspelled-bash-commands-linux/
作者:SK[3] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出