linux bash 脚本调试终极技能

  • 编辑要调试的脚本compile.sh的开头,加入
set +xv # 这个命令会把shell脚本的执行过程和执行的相应语句都打印出来,感觉可以类比 gdb中的逐步调试
  • 然后重定向脚本的运行结果到一个日志文件,像这样,然后执行
./compile.sh  2>&1 | tee build.output.log

以下内容和上边无关,可以不看,只是一个显示编译过程耗时的脚本代码

#!/bin/bash
REL_DIR="$(dirname $0)"
TOP_DIR="$(cd ${REL_DIR}/.. && pwd)"
#sudo bash -c "echo    performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
chmod +x *.sh
starttime=$(date +'%Y-%m-%d %H:%M:%S')
#执行程序
./topbuild.sh 2>&1 | tee build.output.log
endtime=$(date +'%Y-%m-%d %H:%M:%S')
start_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo "this round build cost "$((end_seconds-start_seconds))"s"
#sudo bash -c "echo    powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
posted @ 2023-03-09 08:28  wangshaodong  阅读(61)  评论(0编辑  收藏  举报