我在使用 bash 4.3 的 fedora 21 上安装了 bashdb
。我需要使用 --debugger
运行,因为我希望将 $0
正确设置为脚本的名称,而不是 bashdb。
bash --debugger my.bash
但是脚本只是执行,没有调试 session 。另一方面运行:
bash --debugger my.bash ""
工作正常。
我做错了什么?
最佳答案
我认为这是 bash 4.3 中引入的错误:Wed Feb 26 09:36:43 2014 -0500 Bash-4.3 distribution sources and documentation
添加的导致这个的代码是:
if (debugging_mode && locally_skip_execution == 0 && running_setuid == 0 && dollar_vars[1])
start_debugger ();
我已经发布了一个错误报告。参见 http://lists.gnu.org/archive/html/bug-bash/2015-04/msg00183.html
上述线程中的简短故事是,尽管 bash 版本 4.3 到 4.3.33 存在此错误,但在 4.3.33 之后的下一个版本中(2015 年 4 月之后的某个时间),此错误将被修复。
关于bash --debugger 在安装 bashdb 后无法在没有参数的脚本上使用 bash 4.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28773452/