Linux 中糾正拼寫錯(cuò)誤的Bash 命令方法
我知道你可以按下向上箭頭來調(diào)出你運(yùn)行過的命令,然后使用左/右鍵移動(dòng)到拼寫錯(cuò)誤的單詞,并更正拼寫錯(cuò)誤的單詞,最后按回車鍵再次運(yùn)行它,對(duì)嗎?可是等等。還有一種更簡單的方法可以糾正 GNU/Linux 中拼寫錯(cuò)誤的 Bash 命令。這個(gè)教程解釋了如何做到這一點(diǎn)。
在 Linux 中糾正拼寫錯(cuò)誤的 Bash 命令
你有沒有運(yùn)行過類似于下面的錯(cuò)誤輸入命令?
$ unme -r bash: unme: command not found
你注意到了嗎?上面的命令中有一個(gè)錯(cuò)誤。我在 uname 命令缺少了字母 a 。
我在很多時(shí)候犯過這種愚蠢的錯(cuò)誤。在我知道這個(gè)技巧之前,我習(xí)慣按下向上箭頭來調(diào)出命令,并轉(zhuǎn)到命令中拼寫錯(cuò)誤的單詞,糾正拼寫錯(cuò)誤,然后按回車鍵再次運(yùn)行該命令。但相信我。下面的技巧非常易于糾正你剛剛運(yùn)行的命令中的任何拼寫錯(cuò)誤。
要輕松更正上述拼寫錯(cuò)誤的命令,只需運(yùn)行:
$ ^nm^nam^
這會(huì)將 uname 命令中將 nm 替換為 nam 。很酷,是嗎?它不僅糾正錯(cuò)別字,而且還能運(yùn)行命令。查看下面的截圖。
當(dāng)你在命令中輸入錯(cuò)字時(shí)使用這個(gè)技巧。請(qǐng)注意,它僅適用于 Bash shell。
額外提示:
你有沒有想過在使用 cd 命令時(shí)如何自動(dòng)糾正拼寫錯(cuò)誤?沒有么?沒關(guān)系!下面的技巧將解釋如何做到這一點(diǎn)。
這個(gè)技巧只能糾正使用 cd 命令時(shí)的拼寫錯(cuò)誤。
比如說,你想使用命令切換到 Downloads 目錄:
$ cd Donloads bash: cd: Donloads: No such file or directory
哎呀!沒有名稱為 Donloads 的文件或目錄。是的,正確的名稱是 Downloads 。上面的命令中缺少 w 。
要解決此問題并在使用 cd 命令時(shí)自動(dòng)更正錯(cuò)誤,請(qǐng)編輯你的 .bashrc 文件:
$ vi ~/.bashrc
最后添加以下行。
[...] shopt -s cdspell
輸入 :wq 保存并退出文件。
最后,運(yùn)行以下命令更新更改。
$ source ~/.bashrc
現(xiàn)在,如果在使用 cd 命令時(shí)路徑中存在任何拼寫錯(cuò)誤,它將自動(dòng)更正并進(jìn)入正確的目錄。
正如你在上面的命令中看到的那樣,我故意輸錯(cuò)( Donloads 而不是 Downloads ),但 Bash 自動(dòng)檢測(cè)到正確的目錄名并 cd 進(jìn)入它。
Fish 和 Zsh shell 內(nèi)置的此功能。所以,如果你使用的是它們,那么你不需要這個(gè)技巧。
然而,這個(gè)技巧有一些局限性。它只適用于使用正確的大小寫。在上面的例子中,如果你輸入的是 cd donloads 而不是 cd Donloads ,它將無法識(shí)別正確的路徑。另外,如果路徑中缺少多個(gè)字母,它也不起作用。
總結(jié)
以上所述是小編給大家介紹的Linux 中糾正拼寫錯(cuò)誤Bash 命令的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux下實(shí)現(xiàn)SNMP一鍵安裝的Shell腳本
這篇文章主要介紹了Linux下實(shí)現(xiàn)SNMP一鍵安裝的Shell腳本,非常實(shí)用,需要的朋友可以參考下2014-07-07關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
SSH 是 Linux 下進(jìn)行遠(yuǎn)程連接的基本工具,但是如果僅僅用它來登錄那可是太浪費(fèi)啦!SSH 命令可是完成遠(yuǎn)程操作的神器啊,下面這篇文章主要給大家介紹了關(guān)于SSH 遠(yuǎn)程執(zhí)行命令的一些相關(guān)資料,需要的朋友可以參考下。2017-07-07使用ubuntu搭建公網(wǎng)個(gè)人郵件服務(wù)器(基于postfix,dovecot,mysql)
這篇文章主要介紹了基于ubuntu搭建公網(wǎng)個(gè)人郵件服務(wù)器(基于postfix,dovecot,mysql),免費(fèi)的郵箱每天發(fā)信數(shù)量是有限制的,所以呢就想著搭建一個(gè)自己的郵件服務(wù)器,需要的朋友可以參考下2019-06-06linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫法
這篇文章主要介紹了linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02shell腳本輸出多個(gè)主機(jī)的網(wǎng)卡速率的方法
這篇文章主要介紹了shell腳本輸出多個(gè)主機(jī)的網(wǎng)卡速率的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12shell編程實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了shell編程實(shí)現(xiàn)學(xué)生成績管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01