轉載請注明出處:
sh -x 命令的執行,會將shell 命令的每一個執行步驟進行打印,可以查看到 整個命令或腳本的執行過程的 debug。
sh -n 只讀取shell腳本,檢測語法錯誤,但不實際執行
使用上面兩個命令可以幫助我們編寫shell腳本,使用示例:
1. 從指定目錄的所有jar包中尋找 包含 log4j 與 fastjson 的jar文件,使用 sh -x 查看執行的每個過程
find /opt/skywalking/ -name "*.jar"|grep -v "jvm"|awk '{print "jar -tvf " $1}'|sh -x|egrep "log4j-|fastjson-"
2. 使用 sh -x shell.sh 查看腳本執行的整個過程
腳本內容如下:
#!/bin/bash sum=0
for value in `cat console.log|grep 'filterStr'|awk '{print $2}'` do sum=$(($sum+$value)) done echo "總共耗時:"$sum totalCount=`cat console.log|grep 'filterStr'|awk '{print $2}'|wc -l` echo "總共請求時間為:"$totalCount #計算請求的平均時間 avageTime=$(($sum/$totalCount)) echo "平均請求響應時間為: "$avageTime
使用 sh -x test.sh 執行腳本如下: