【问题标题】:Is there a way to step through Bash Scripts [duplicate]有没有办法逐步完成 Bash 脚本 [重复]
【发布时间】:2018-09-24 22:31:18
【问题描述】:

我在 Windows 中使用 git-bash。我在 GitHub 上找到了一个我想修改的 bash 脚本。我克隆了它并在我的 pycharm 编辑器中打开它。我添加了一个插件https://www.plugin-dev.com/project/bashsupport/#installation,但是从文档中可以看出它的作用是语法高亮。有没有办法逐行逐行执行代码,设置断点等。我没有太多的 shell 脚本编写经验,单步执行代码可能会加快我的学习速度。

【问题讨论】:

  • 您可以在 shell 中一次运行一行脚本...
  • 谷歌搜索“bash 调试器”,我找到了bashdb.sourceforge.net。我以前从未听说过,所以不能说赞成或反对。
  • 顺便说一句——一般来说,只要您可能使用echo -eecho -n,就应该使用printf。请参阅the POSIX spec for echo 的 APPLICATION USAGE 和 RATIONALE 部分中的相关讨论,并注意虽然 bash 的 echo 不符合默认情况下,但它受运行时配置(具有编译时默认值)的影响,因此不受总是正确的。

标签: bash shell git-bash


【解决方案1】:

我通常使用 -x 标志(xtrace 或执行跟踪的缩写)进行调试,用于添加执行信息Debugging Bash scripts)。

你可以通过执行来使用它:

bash -x your-script.sh

或添加到您的脚本中:

set -x

【讨论】:

  • 当然不是最接近的东西。存在单步调试器;上游 bash 有明确的钩子供其使用。
  • @CharlesDuffy 你能记住调试器的名字吗?
  • @iconoclast bashdb.sourceforge.net -- 请注意,我个人不使用它,所以不要把它当作推荐。
  • @iconoclast, ...btw, re: "hooks for its use",参见DEBUG 陷阱和extdebug shell 选项修改行为。
猜你喜欢
  • 2012-11-07
  • 1970-01-01
  • 2013-07-23
  • 2011-01-31
  • 2020-01-08
  • 2016-03-18
  • 2012-12-05
  • 1970-01-01
  • 2011-10-21
相关资源
最近更新 更多