<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jasmine214--love

    只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    用來定制shell環境--shopt

    Posted on 2010-11-26 09:27 幻海藍夢 閱讀(1426) 評論(0)  編輯  收藏 所屬分類: Linux
    set命令可以用來定制shell環境,使用選項“o”來打開或者關閉選項。例如打開選項:set -o 選項,關閉選項目:set +o 選項。

        例如要打開vi交互式命令行編輯,則如下:

    [root@localhost ~]# 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
    [root@localhost ~]# set -o vi   #把vi選項打開
    [root@localhost ~]# 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”表示選項當前被設置。
     

    [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  #打開選項


    原文: http://blog.sina.com.cn/s/blog_44c831df0100luyr.html

    主站蜘蛛池模板: 久久久久久亚洲av无码蜜芽| 亚洲国产成人久久综合一| 亚洲国产欧洲综合997久久| 91香蕉视频免费| 亚洲中文无码av永久| 免费在线视频你懂的| 亚洲国产成人久久99精品| 免费观看AV片在线播放| 亚洲男人天堂2022| 日本免费人成视频播放| 视频一区在线免费观看| 久久亚洲高清综合| 精品视频一区二区三区免费| 91大神亚洲影视在线| 日本亚洲免费无线码| 亚洲va中文字幕| 国产亚洲精品激情都市| 精品国产麻豆免费人成网站| 亚洲精品无码久久久久久久| 手机在线免费视频| 四虎影视久久久免费观看| 亚洲精品乱码久久久久久中文字幕 | 亚洲av永久无码精品国产精品| 永久在线观看免费视频| 91亚洲国产成人久久精品网站| 特级做A爰片毛片免费69| 精品国产亚洲AV麻豆| 亚洲无码高清在线观看| 99热在线免费播放| 亚洲AV电影天堂男人的天堂| 久久精品国产亚洲AV不卡| 最近在线2018视频免费观看| 亚洲精品伦理熟女国产一区二区| 亚洲日韩在线观看| 久久精品国产免费观看| 黄页视频在线观看免费| 久久精品国产亚洲av高清漫画 | 男女一边桶一边摸一边脱视频免费| 久久亚洲日韩看片无码| 免费v片在线观看品善网| 亚洲黄色免费电影|