set -x與set +x指令

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

set -x 是開啓 set +x是關閉 set -o是查看 (xtrace),set去追中一段代碼的顯示情況。

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

[root@mybox bin]# ls -l /bin/bash

+ ls --color=tty -l /bin/bash 

-rwxr-xr-x 1 root root 722684 Jul 12  2006 /bin/bash

針對一部分script,可以選擇 set -x 和 set +x配套使用。比如在一個腳本里:

set -x            # activate debugging from here

w

set +x            # stop debugging from here

---------------------------------------------------------------------------------------------

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

 -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曾啓動的參數。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章