Debug的办法
- sh -x 顯示執行過程,解決大部分問題
- set命令設置開始/結束 Debug的地位 專門針對複雜的脚本
- 單步執行,將無關代碼注釋掉
sh -x test.sh++ pwd+ logfile=/home/d5118267/shell_script/omnibaseTables.log++ date '+%F %H:%M:%S'+ Cdate='2021-09-03 02:04:15'+ echo ============================================+ echo 2021-09-03 02:04:15+ T1=/appvol/ctm/omnibase/datarefine/datastructure/sql+ T2=/appvol/ctm/omnibase/datarefine/datamodel/sql+ T25=/appvol/ctm/omnibase/dataconsume/sql/BIZ_dataconsume_sql+ T3=/appvol/ctm/omnibase/dataconsume/sql/IT_dataconsume_sql+ '[' 0 -ne 4 ']'+ echo 'Please input enough parameters'Please input enough parameters+ exit 1
留神事項:
- 加號+ 代表執行進程
- 加號越多,代表優先級
- 沒有加號的,示意標準輸出
Debug 某個一個具體範圍,一條循環的脚本...
#!/bin/bash#1) Execute the T1-T3 tables in GCP#2) Create/Replace tables recordslogfile="`pwd`/omnibaseTables.log"Cdate=`date "+%F %H:%M:%S"`echo "============================================" >> $logfileset -x #從這裏開始檢查echo $Cdate >> $logfile set +x #從這裏結束檢查結果:sh t0_t1.sh+ echo 2021-09-03 02:29:54+ set +xPlease input enough parameters