使用set命令可以設定各種shell選項或者列出shell變數.單個選項設定常用的特性.
在某些選項之後-o參數將特殊特性開啟.在某些選項之後使用+o參數將關閉某些特性,
不帶任何參數的set命令將顯示shell的全部變數.除非遇到非法的選項,否則set總是
返回ture.
當BASH shell被調用時,可以列出全部的選項.當前的選項集列在$-中.在option參數
被處理後,其他的參數被賦值到位置參數中($1,$2,...,$n)
set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...]
代碼:
選項 說明-a 自動向已經修改的變數或為匯出後序命令的變數作出標誌-b 不是在原提示符之前,而是立即引發終止背景工作的狀態表表-e 如果命令帶非零值返回,立即退出-f 禁止帶副檔名的路徑-h 定義函數時,定位和儲存函數命令,當函數被執行時,通常查詢 函數命令-k 所有的關鍵詞參數,而不只是那些命令名前的關鍵詞參數,被放 在環境命令中-m 監視器模式,啟動任務控制.此選項預設支援系統shell互動.後 台進程以單獨的進程組運行,在每次完成任務時顯示包含退出的 狀態行-n 讀取命令但不執行命令.通常監查shell指令碼的句法錯誤.互動 shell被忽略-o option-name 選項名可以是下列之一:選項 說明allexport 同-a選項braceexpand shell執行花括弧擴充,在預設情況下起作用emacs 使用emacs風格命令列編輯介面.除非shell以-noline-editing 選項啟動,否則當shell互動時,通過預設啟動該選項errexit 同-e選項histexpand 同-H選項ignoreeof 其結果是好像shell命令IGNOREEOF=10被執行interactive 允許單詞前帶#號,以使得在互動shell中忽略命令列的全部字元-commandsmonitor 同-m選項noclobber 同-C選項noexec 同-n選項noglob 同-f選項nohash 同-d選項notify 同-b選項nounset 同-u選項physical 同-p選項posix 改變BASH屬性以匹配標準,預設操作不同於POSIX1003.2標準verbose 同-v選項vi 使用vi風格的命令列編輯器XTRACE 同-x選項,如果沒有給出選項名,顯示當前選項值-p 開啟特權模式(在此模式,$ENV檔案被處理,不能從環境中繼承 shell函數.如果是有效使用者ID而不是實使用者組則自動啟動.關閉 此選項將使得有效使用者和組IDs設定實使用者和組IDs)-t 在讀取命令並執行之後退出-u 當執行參數括展時,把非設定變數作為錯誤處理(如果擴充企圖 出現在非設定變數中,shell顯示錯誤資訊.如果不是互動式,則 帶非淩值退出)-v 輸入行被讀取時,顯示shell輸入行-x 在每個簡單命令被擴充之後,顯示PS4擴充值,之後是要執行的命令-l 儲存和恢複綁定在命令中的名稱-d 禁止執行尋找散列命令(通常,命令被儲存在散列表中,一旦被找到 就不再繼續尋找)-C 效果好像是執行了noclobber=shell命令-H 使用!風格的曆史替代(當shell互動時,在預設情況下,此選項有效)-P 如果設定此參數,當執行改變目錄命令cd時,不遵循符號連結,而是 使用實際的目錄-- 如果在選項後沒有參數,不設定位置參數.否則,即使一些參數以a 選項開始,也要把位置參數設定為argument- 結束選項的訊號,將引發其餘的參數被賦值到位置參數中(-x和-v 選項被關閉.如果沒有argument,位置參數將保留未改變的參數)