1. 程式人生 > >shell中set命令

shell中set命令

lar 修改 命令 style 模式 環境 讀取 情況 shel

set命令作用主要是顯示系統中已經存在的shell變量,以及設置shell變量的新變量值。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使用declare命令以變量名=值的格式進行定義即可。

-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 -x與set +x指令

用於腳本調試。set是把它下面的命令打印到屏幕

set -x 是開啟

set +x是關閉

set -o是查看 (xtrace),set去追中一段代碼的顯示情況。

執行set -x後,對整個腳本有效。

shell中set命令