歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux系統命令shopt

linux系統命令shopt

日期:2017/3/1 14:43:05   编辑:關於Linux
linux系統命令shopt shopt命令是set命令的一種替代,很多方面都和set命令一樣,但它增加了很多選項。可以使用“-p”選項來查看shopt選項的設置。“-u”開關表示一個復位的選項,“-s”表示選項當前被設置。 [root@localhost ~]# shopt -p #查看當前設置情況 shopt -u cdable_vars shopt -u cdspell shopt -u checkhash shopt -s checkwinsize shopt -s cmdhist shopt -u dotglob shopt -u execfail shopt -s expand_aliases shopt -u extdebug shopt -u extglob shopt -s extquote shopt -u failglob shopt -s force_fignore shopt -u gnu_errfmt shopt -u histreedit shopt -u histappend shopt -u histverify shopt -s hostcomplete shopt -u huponexit shopt -s interactive_comments shopt -u lithist shopt -s login_shell shopt -u mailwarn shopt -u no_empty_cmd_completion shopt -u nocaseglob shopt -u nullglob shopt -s progcomp shopt -s promptvars shopt -u restricted_shell shopt -u shift_verbose shopt -s sourcepath shopt -u xpg_echo [root@localhost ~]# shopt -s cdspell #把cdspell選項打開 [root@localhost ~]# shopt -p cdspell #打印cdspell設置 shopt -s cdspell [root@localhost ~]# cd /raot #故意拼寫錯誤 /root [root@localhost ~]# pwd #查看當前目錄 /root [root@localhost ~]# cd /usr/loca/bin #故意拼寫錯誤 /usr/local/bin [root@localhost bin]# pwd #查看當前目錄 /usr/local/bin [root@localhost bin]# shopt -u cdspell #把cdspell選項打開 [root@localhost bin]# shopt -p cdspell #打印cdspell設置 shopt -u cdspell [root@localhost bin]# cd /raot #故意拼寫錯誤 -bash: cd: /raot: 沒有那個文件或目錄 #進入目錄錯誤 shopt命令選項 選項 含義 cdable_vars 如果給cd內置命令的參數不是一個目錄,就假設它是一個變量名,變量的值是將要轉換到的目錄 cdspell 糾正cd命令中目錄名的較小拼寫錯誤。檢查的錯誤包括顛倒順序的字符,遺漏的字符以及重復的字符。如果知道一處修改,正確的路徑就打印出,命令將繼續。只用於交互式shell checkhash bash在試圖執行一個命令前,先在哈希表中尋找,以確定命令是否存在。如果命令不存在,就執行正常路徑搜索 checkwinsize bash在每個命令後檢查窗口大小,如果有必要,就更新LINES和COLUMNS的值 cmdhist bash試圖將一個多行命令的所有行保存在同一個歷史項中。這使得多行命令的重新編輯更方便 dotglob bash在文件名擴展的結果中包括以點(.)開頭的文件名 execfail 如果一個交互式shell不能執行指定給exec內置命令作為參數的文件,它不會退出。如果exec失敗,一個交互式shell不會退出 expand_aliases 別名被擴展。默認為打開 extglob 打開擴展的模式匹配特征(正常的表達式元字符來自Korn shell的文件名擴展) histappend 當shell退出時,歷史清單將添加到以HISTFILE變量的值命名的文件中,而不是覆蓋文件 histreedit 如果readline正被使用,用戶有機會重新編輯一個失敗的歷史替換 histverify 如果設置,且readline正被使用,歷史替換的結果不會立即傳遞給shell解析器。而是將結果行裝入readline編輯緩沖區中,允許進一步修改 hostcomplete 如果設置,且readine正被使用,當正在完成一個包含@的詞時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是否是受限的 sourcepath 如果設置,source內置命令使用PATH的值來尋找包含作為參數提供的文件的目錄。默認為打開 source 點(.)的同義詞 shift_verbose 如果該選項設置,當移動計數超過位置參量個數時,shift內置命令將打印一個錯誤消息 自Bash 3.1版開始,引入新選項 nocasematch,可讓Bash在對比樣式時忽略大小寫。 shopt -s nocasematch #打開選項
Copyright © Linux教程網 All Rights Reserved