set -x 與 set +x
在liunx腳本中可用set -x就可有詳細的日志輸出.免的老是要echo了
下面的網上搜來的用法.
用於腳本調試。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曾啟動的參數。