如果我運行慶典:調試選項和功能
bash -x myscript.sh
我去拿調試輸出。
但是,如果我在myscript.sh
中有函數,函數中的代碼不受-x選項的影響。它寫入僅輸出函數的名稱。
如何獲取bash腳本中函數的調試輸出?
更新:
繼ztank1013的反應,我才意識到,我用KSH,不bash的。似乎bash默認啓用了我的系統中的functrace選項(感謝bash-o-logist)
我很滿意,但對於社區,我保持打開ksh的問題。
腳本:
#!/bin/ksh
a=2
testering(){
a=3
if [ $a -eq 3 ]; then
echo lili
fi
}
if [ $a -eq 2 ]; then
echo mimi
fi
testering
exit
的ksh -x ./testdebug.sh
輸出爲:
+ a=2
+ [ 2 -eq 2 ]
+ echo mimi
mimi
+ testering
lili
+ exit
所以,KSH,有什麼訣竅?
(如果沒有答案會來的,「正確的」必去抨擊鄰LOGIST。)
很好的問題,+1 – nsd