shell指令碼的除錯sh-x
阿新 • • 發佈:2020-09-16
轉至:https://blog.csdn.net/yjgithub/article/details/80908079
目錄
一.簡介
二.sh -x 指令碼名.sh
三.set -x
一.簡介
使用sh -x除錯shell指令碼
“-x”選項可用來跟蹤指令碼的執行,是除錯shell指令碼的強有力工具。“-x”選項使shell在執行指令碼的過程中把它實際執行的每一個命令列顯示出來,並且在行首顯示一個”+”號。 “+”號後面顯示的是經過了變數替換之後的命令列的內容,有助於分析實際執行的是什麼命令。 “-x”選項使用起來簡單方便,可以輕鬆對付大多數的shell除錯任務,應把其當作首選的除錯手段。
set -x #啟動"-x"選項 要跟蹤的程式段 set +x #關閉"-x"選項
二.sh -x 指令碼名.sh
[root@hadoop1 all]# cat 2018070401.sh #!/bin/bash var=$1 echo$var [root@hadoop1 all]# sh -x 2018070401.sh hello #控制檯輸出 + var=hello + echo hello hello #帶+的表示被跟蹤的程式碼
三.set -x
對指令碼內部部分程式碼進行跟蹤,被跟蹤的程式碼以set -x開始,與set +x結束
[root@master shellexer]# cat 2018070401.sh #!/bin/bash var=$1 set -x eeco $var set +x echo $var [root@hadoop1 all]# sh 2018070401.sh hello #控制檯輸出 + eeco hello2018070401.sh: line 4: eeco: command not found + set +x hello
轉至:https://www.cnblogs.com/laokanblog/p/11055197.html
1. 幾種不錯的除錯方法
(1)使用echo列印資訊
類似與python的print列印
(2)命令列中使用sh -x script.sh
(3)shell指令碼中設定
set -x 開啟除錯、
set +x 禁止除錯
2. 除錯方式的選擇
首選除錯方式sh -x ,簡單便捷。她能跟蹤執行資訊,將執行指令碼的過程中把實際執行的每個命令顯示出來,行首顯示+, +後面顯示經過替換之後的命令列內容,有助於分析實際執行的是什麼命令,這裡也相當於打印出來了執行的命令。