set命令做用主要是顯示系統中已經存在的shell變量,以及設置shell變量的新變量值。使用set更改shell特性時,符號"+"和"-"的做用分別是打開和關閉指定的模式。set命令不可以定義新的shell變量。若是要定義新的變量,能夠使用declare命令以變量名=值的格式進行定義便可
set(選項)(參數)
-a:標示已修改的變量,以供輸出至環境變量。shell
-b:使被停止的後臺程序馬上回報執行狀態。ide
-C:轉向所產生的文件沒法覆蓋已存在的文件。 函數
-d:Shell預設會用雜湊表記憶使用過的指令,以加速指令的執行。使用-d參數可取消。spa
-e:若指令傳回值不等於0,則當即退出shell。 .net
-f:取消使用通配符。orm
-h:自動記錄函數的所在位置。 get
-H Shell:可利用"!"加<指令編號>的方式來執行history中記錄的指令。it
-k:指令所給的參數都會被視爲此指令的環境變量。io
-l:記錄for循環的變量名稱。
-m:使用監視模式。
-n:只讀取指令,而不實際執行。
-p:啓動優先順序模式。
-P:啓動-P參數後,執行指令時,會以實際的文件或目錄來取代符號鏈接。
-t:執行完隨後的指令,即退出shell。
-u:當執行時使用到未定義過的變量,則顯示錯誤信息。
-v:顯示shell所讀取的輸入值。
-x:執行指令後,會先顯示該指令及所下的參數。
參數:
取消某個set曾啓動的參數。
實例:
使用declare命令定義一個新的環境變量"mylove",而且將其值設置爲"Visual C++",輸入以下命令:
declare mylove='Visual C++' #定義新環境變量
再使用set命令將新定義的變量輸出爲環境變量,輸入以下命令:
set -a mylove #設置爲環境變量
執行該命令後,將會新添加對應的環境變量。用戶能夠使用env命令和grep命令分別顯示和搜索環境變量"mylove",輸入命令以下:
env | grep mylove #顯示環境變量值
此時,該命令執行後,將輸出查詢到的環境變量值。