shell script 中 set的用法

2021-06-17 14:43:06 字數 2428 閱讀 5648

使用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              定義函式時,定位和儲存函式命令,當函式被執行時,通常查詢

函式命令

在環境命令中

-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中忽略命令列的全部字元

-commands

monitor         同-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,位置引數將保留未改變的引數)

Shell Script中FOR迴圈的使用

for迴圈的使用1 for i 0 i 5 i do date date y m d d i days ago showdate showdate date echo showdate done 輸出20120319 20120319 20120318 20120319 20120318 20120...

shell script中的迴圈語法

1 while do done,util do done 不定迴圈 while 的中文是 當 時 所以,這種方式說的是 當 condition 條件成立時,就 進行迴圈,直 到condition 的條件 不成立才停止 的意思。這種方式恰恰不與while 相反,它說的是 當 condition 條件成...

shell script中read的用法

1 read基本讀取 bin bash testing the read command echo n enter you name echo n 讓使用者直接在後面輸入 read name 輸入的多個文字將儲存在乙個變數中 echo hello name,welcome to my progra ...