Bash Shell-使用內建的set和shopt命令設定bash選項

來源:互聯網
上載者:User

標籤:bash shell選項 set功能   功能開關

使用內建的set和shopt命令設定bash選項

    set命令可以用來定製shell環境,使用選項“o”來開啟或者關閉選項。例如開啟選項:set -o 選項,關閉選項目:set +o 選項。

    例如要開啟vi互動式命令列編輯,則如下:

[[email protected] ~]# set -o   #查看當前設定情況
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              off             #關閉中
xtrace          off
[[email protected] ~]# set -o vi   #把vi選項開啟
[[email protected] ~]# set -o      #查看當前設定情況
allexport       off
braceexpand     on
emacs           off
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              on                #已經開啟
xtrace          off

    內建set命令選項

選項名 快捷開關 含義
allexport -a 從這個選項中被設定開始就自動標明要輸出的新變數或修改過的變數,直至選項被複位
braceexpand -B 開啟花括弧擴充,它是一個預設設定
emacs   使用emacs內建編輯器進行命令列編輯,是一個預設設定
errexit -e 當命令返回一個非零退出狀態(失敗)時退出。讀取初始設定檔案時不設定
histexpand -H 執行曆史替換時開啟!和!!擴充,是一個預設設定
history   開啟命令列曆史、預設為開啟
ignoreeof   禁止用EOF(Ctrl+D)鍵退出shell。必須鍵入exit才能退出。等價於設定shell變數IGNOREEOF=10
keyword -k 將關鍵字參數放到命令的環境中
interactive-comments   對於互動式shell,把#符後面的文本作為注釋
monitor -m 設定作業控制
noclobber -C 防止檔案在重新導向時被重寫
noexec -n 讀命令,但不執行。用來檢查指令碼的文法。互動式運行時不開啟
noglob -d 禁止用路徑名擴充。即關閉萬用字元
notify -b 後台作業完成時通知使用者
nounset -u 擴充一個未設定的變數時顯示一個錯誤資訊
onecmd -t 在讀取和執行命令後退出
physical -P 設定時,在鍵入cd或pwd禁止符號連結。用物理目錄代替
privileged -p 設定後,shell不讀取.profile或ENV檔案,且不從環境繼承shell函數,將自動為setuid指令碼開啟特權
verbose -v 為調試開啟verbose模式
vi   使用vi內建編輯器進行命令列編輯
xtrace -x 為調試開啟echo模式
     


    shopt命令是set命令的一種替代,很多方面都和set命令一樣,但它增加了很多選項。可有使用“-p”選項來查看shopt選項的設定。“-u”開關表示一個複位的選項,“-s”表示選項當前被設定。

[[email protected] ~]# 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

[[email protected] ~]# shopt -s cdspell   #把cdspell選項開啟
[[email protected] ~]# shopt -p cdspell    #列印cdspell設定
shopt -s cdspell
[[email protected] ~]# cd /raot            #故意拼字錯誤
/root
[[email protected] ~]# pwd                 #查看目前的目錄
/root
[[email protected] ~]# cd /usr/loca/bin   #故意拼字錯誤
/usr/local/bin
[[email protected] bin]# pwd               #查看目前的目錄   
/usr/local/bin
[[email protected] bin]# shopt -u cdspell #把cdspell選項開啟
[[email protected] bin]# shopt -p cdspell #列印cdspell設定
shopt -u cdspell
[[email protected] bin]# cd /raot         #故意拼字錯誤
-bash: cd: /raot: 沒有那個檔案或目錄     #進入目錄錯誤

 shopt命令選項

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4D/C9/wKiom1RZwxeiVbE_AAbeDmATTQA475.jpg" style="float:none;" title="1.png" alt="wKiom1RZwxeiVbE_AAbeDmATTQA475.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4D/C8/wKioL1RZw3mDwq5KAALb_ZTv-XM899.jpg" style="float:none;" title="2.png" alt="wKioL1RZw3mDwq5KAALb_ZTv-XM899.jpg" />


本文出自 “Professor哥” 部落格,請務必保留此出處http://professor.blog.51cto.com/996189/1572113

Bash Shell-使用內建的set和shopt命令設定bash選項

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.