歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下用shopt命令來幫我們自動糾錯輸入cd 錯誤

Linux下用shopt命令來幫我們自動糾錯輸入cd 錯誤

日期:2017/2/28 16:03:11   编辑:Linux教程

下面是關於shopt命令的一些參數的用法

選項 含義 cdable_vars 如果給cd內置命令的參數不是一個目錄,就假設它是一個變量名,變量的值是將要轉換到的目錄 cdspell 糾正cd命令中目錄名的較小拼寫錯誤.檢查的錯誤包括顛倒順序的字符,遺漏的字符以及重復的字符.如果找到一處需修改之處,正確的路徑將打印出,命令將繼續.只用於交互式shell checkhash bash在試圖執行一個命令前,先在哈希表中尋找,以確定命令是否存在.如果命令不存在,就執行正常的路徑搜索 checkwinsize bash在每個命令後檢查窗口大小,如果有必要,就更新LINESCOLUMNS的值 cmdhist bash試圖將一個多行命令的所有行保存在同一個歷史項中.這是的多行命令的重新編輯更方便 dotglob Bash在文件名擴展的結果中包括以點(.)開頭的文件名 execfail 如果一個非交互式shell不能執行指定給exec內置命令作為參數的文件,它不會退出.如果exec失敗,一個交互式shell不會退出 expand_aliases 別名被擴展.缺省為打開 extglob 打開擴展的模式匹配特性(正常的表達式元字符來自Korn shell的文件名擴展) histappend 如果readline正被使用,用戶有機會重新編輯一個失敗的歷史替換 histverify 如果設置,readline正被使用,歷史替換的結果不會立即傳遞給shell解釋器.而是將結果行裝入readline編輯緩沖區中,允許進一步修改 hostcomplete 如果設置,readline正被使用,當正在完成一個包含@的詞時bash將試圖執行主機名補全.缺省為打開 huponexit 如果設置,當一個交互式登錄shell退出時,bash將發送一個SIGHUP(掛起信號)給所有的作業 interactive_comments 在一個交互式shell.允許以#開頭的詞以及同一行中其他的字符被忽略.缺省為打開 lithist 如果打開,cmdhist選項也打開,多行命令講用嵌入的換行符保存到歷史中,而無需在可能的地方用分號來分隔 mailwarn 如果設置,bash用來檢查郵件的文件自從上次檢查後已經被訪問,將顯示消息"The mail in mailfile has been read" nocaseglob 如果設置,當執行文件名擴展時,bash在不區分大小寫的方式下匹配文件名 nullglob 如果設置,bash允許沒有匹配任何文件的文件名模式擴展成一個空串,而不是他們本身 promptvars 如果設置,提示串在被擴展後再進行變量和參量擴展.缺省為打開 restricted_shell 如果shell在受限模式下啟動就設置這個選項.該值不能被改變.當執行啟動文件時不能復位該選項,允許啟動文件發現shell是否受限 shift_verbose 如果該選項設置,當移動計數超出位置參量個數時,shift內置命令將打印一個錯誤消息 sourcepath 如果設置,source內置命令使用PATH的值來尋找作為參數提供的文件的目錄.缺省為打開 source(.)的同義詞

假設你在Linux下輸入cd 命令的時候經常出錯,就可以用shopt這個命令來幫你自動糾錯。看以下效果:

[root@ www.linuxidc.com ~]# pwd
/root
[root@ www.linuxidc.com ~]# cd /etc/maii //還沒有執行shopt命令之前
-bash: cd: /etc/maii: 沒有那個文件或目錄
[root@ www.linuxidc.com ~]# shopt -s cdspell
[root@ www.linuxidc.com ~]# cd /etc/maii //故意輸錯路徑
/etc/mail
[root@ www.linuxidc.com mail]# pwd //可以了,自動糾錯成功
/etc/mail
[root@ www.linuxidc.com mail]# cd /et/htt //呵呵,還沒有那麼智能,遺憾啊
-bash: cd: /et/htt: 沒有那個文件或目錄
[root@ www.linuxidc.com mail]# cd /etc/htt //呵呵,還沒有那麼智能,遺憾啊
-bash: cd: /etc/htt: 沒有那個文件或目錄
[root@ www.linuxidc.com mail]# cd /etc/htpd //故意輸錯路徑
/etc/httpd
[root@ www.linuxidc.com httpd]# pwd //可以了,自動糾錯成功
/etc/httpd
[root@ www.linuxidc.com httpd]#

此命令只對當前終端有效,換個終端或者退出之後,需要重新執行才能有效。

Copyright © Linux教程網 All Rights Reserved