Linux 命令之 set
阿新 • • 發佈:2018-10-31
set命令可以用來定製shell環境,使用選項“o”來開啟或者關閉選項。例如開啟選項:set -o 選項,關閉選專案:set +o 選項。 |
例如要開啟vi互動式命令列編輯,則如下:
[[email protected] bin]$ 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 off #關閉中 xtrace off
[[email protected] bin]$ set -o vi #把vi選項開啟 [[email protected] bin]$ 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模式