當前位置:生活全書館 >

IT科技

> set命令詳解 linux

set命令詳解 linux

1、set命令功能:

用來設定shell,set指令能設定所使用shell的執行方式,可依照不同的需求來做設定。

2、語法:

set [+-abCdefhHklmnpPtuvx]語法為set [-abefhkmnptuvxBCEHPT] [-o option-name] [argument …] 或者 set [+abefhkmnptuvxBCEHPT] [+o option-name] [argument …]。

第一組與第二組都是set的選項,+號表示關閉選項,-號表示開啟選項,最後一組argument是位置引數。

3、補充說明:

set指令能設定所使用shell的執行方式,可依照不同的需求來做設定。

4、引數:

-a  標示已修改的變數,以供輸出至環境變數。
-b  使被中止的後臺程式立刻回報執行狀態。
-C  轉向所產生的檔案無法覆蓋已存在的檔案。
-d  Shell預設會用雜湊表記憶使用過的指令,以加速指令的執行。使用-d引數可取消。
-e  若指令傳回值不等於0,則立即退出shell。  
-f   取消使用萬用字元。
-h  自動記錄函式的所在位置。
-H Shell  可利用"!"加<指令編號>的方式來執行history中記錄的指令。
-k  指令所給的引數都會被視為此指令的環境變數。
-l  記錄for迴圈的變數名稱。
-m  使用監視模式。
-n  只讀取指令,而不實際執行。
-p  啟動優先順序模式。
-P  啟動-P引數後,執行指令時,會以實際的檔案或目錄來取代符號連線。
-t  執行完隨後的指令,即退出shell。
-u  當執行時使用到未定義過的變數,則顯示錯誤資訊。
-v  顯示shell所讀取的輸入值。
-x  執行指令後,會先顯示該指令及所下的引數。

+<引數>  取消某個set曾啟動的引數。

5、set命令的其他特徵:

開啟選項之後需要關閉,再執行set +選項就可以了。

set後接的位置引數預設會賦值給環境變數$1, $2, $3......,位置引數的數量賦值為$#。

set命令不帶選項與位置引數時,輸出SHELL環境變數與SHELL函式。

建議在指令碼的頭部設定set -eux ; set -o pipefail 或者,按bash -eux -o pipefail script.sh方式執行指令碼。

linux set命令詳解

標籤: linux set 命令
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/ryvv9q.html