使用行号调试shell脚本

时间:2013-07-06 03:05:16

标签: linux shell unix

我继承了700多行shell脚本,注意到当我运行脚本时,它会在某个执行点吐出错误。

我在控制台上看到的错误就像是

cat: /Wreck/wreck_module.rb: No such file or directory 

我尝试使用set -x以及此link的大部分提示,但是我注意到我得到的所有输出都非常嘈杂。

有没有办法获得shell命令返回非零状态的确切行号?

1 个答案:

答案 0 :(得分:4)

将它放在要调试的脚本的顶部:

#!/bin/bash
function trace_line(){
  caller
}
trap trace_line debug

并且可能将输出重定向到文件以便于分析。