7

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

例如,我在控制台上看到的错误类似于

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

我已尝试使用此链接set -x中的大多数提示,但是我注意到我得到的所有输出都非常嘈杂。

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

4

1 回答 1

4

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

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

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

于 2013-07-06T03:36:59.977 回答