我继承了700多行shell脚本,注意到当我运行脚本时,它会在某个执行点吐出错误。
我在控制台上看到的错误就像是
cat: /Wreck/wreck_module.rb: No such file or directory
我尝试使用set -x
以及此link的大部分提示,但是我注意到我得到的所有输出都非常嘈杂。
有没有办法获得shell命令返回非零状态的确切行号?
答案 0 :(得分:4)
将它放在要调试的脚本的顶部:
#!/bin/bash
function trace_line(){
caller
}
trap trace_line debug
并且可能将输出重定向到文件以便于分析。