如何在 Linux 中輕鬆修正拼寫錯誤的 Bash 命令

我知道你可以按下向上箭頭來調出你運行過的命令,然後使用左/右鍵移動到拼寫錯誤的單詞,並更正拼寫錯誤的單詞,最後按回車鍵再次運行它,對嗎?可是等等。還有一種更簡單的方法可以糾正 GNU/Linux 中拼寫錯誤的 Bash 命令。這個教程解釋了如何做到這一點。請繼續閱讀。

在 Linux 中糾正拼寫錯誤的 Bash 命令

你有沒有運行過類似於下面的錯誤輸入命令?

$ unme -rbash: unme: command not found

你注意到了嗎?上面的命令中有一個錯誤。我在 uname 命令缺少了字母 a

我在很多時候犯過這種愚蠢的錯誤。在我知道這個技巧之前,我習慣按下向上箭頭來調出命令,並轉到命令中拼寫錯誤的單詞,糾正拼寫錯誤,然後按回車鍵再次運行該命令。但相信我。下面的技巧非常易於糾正你剛剛運行的命令中的任何拼寫錯誤。

要輕鬆更正上述拼寫錯誤的命令,只需運行:

$ ^nm^nam^

這會將 uname 命令中將 nm 替換為 nam。很酷,是嗎?它不僅糾正錯別字,而且還能運行命令。查看下面的截圖。

當你在命令中輸入錯字時使用這個技巧。請注意,它僅適用於 Bash shell。

額外提示:

你有沒有想過在使用 cd 命令時如何自動糾正拼寫錯誤?沒有么?沒關係!下面的技巧將解釋如何做到這一點。

這個技巧只能糾正使用 cd 命令時的拼寫錯誤。

比如說,你想使用命令切換到 Downloads 目錄:

$ cd Donloadsbash: 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 和 Zsh shell 內置的此功能。所以,如果你使用的是它們,那麼你不需要這個技巧。

然而,這個技巧有一些局限性。它只適用於使用正確的大小寫。在上面的例子中,如果你輸入的是 cd donloads 而不是 cd Donloads,它將無法識別正確的路徑。另外,如果路徑中缺少多個字母,它也不起作用。


via: ostechnix.com/easily-co

作者:SK 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


推薦閱讀:

為什麼命令行界面(CLI)並未隨著命令行操作系統(如 DOS)的淘汰而消亡?
DOS的常用命令都有哪些?如何應用?
PowerShell 與 Bash 相比,哪個更好?
如何善加利用 Mac 下的 Terminal ?
Windows 和 Unix 下的命令操作有什麼迷人之處?

TAG:Linux | 命令行界面CLI |