适合ksh, bash
1. 使用trap命令
# 追踪命令或函数的返回状态
trap 'echo "[LINE:$LINENO] Error: Command or function exited with status $?"' ERR
# 追踪命令执行后的详细结果
trap 'echo "Before execute line $LINENO: a=$a, b=$b, c=$c"' DEBUG
2. sh选项
-n 读取shell脚本,但不执行(检查语法)
-x 进入trace方式,显示执行的每条命令
-c 从字符串中读取命令执行
sh -c 'a=1; b=2; let "c=a+b"; echo $c'
# 增强-x输出:
export PS4='+{$LINENO:${FUNCNAME[0]}}