如何在不运行 Bash 脚本的情况下对其进行语法检查?

新手上路,请多包涵

是否可以在不执行的情况下检查 bash 脚本语法?

使用 Perl,我可以运行 perl -c 'script name' 。 bash 脚本是否有任何等效命令?

原文由 Tom Feiner 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 513
2 个回答
bash -n scriptname

也许一个明显的警告:这会验证语法,但不会检查您的 bash 脚本是否尝试执行不在您的路径中的命令,例如 ech hello 而不是 echo hello

原文由 andy 发布,翻译遵循 CC BY-SA 3.0 许可协议

时间改变一切。 这是一个为 shell 脚本提供在线语法检查的网站

我发现它检测常见错误非常强大。

在此处输入图像描述

关于壳牌检查

ShellCheck 是用于 sh/bash 脚本的静态分析和 linting 工具。它主要专注于处理典型的初学者和中级语法错误和陷阱,其中 shell 只是给出一个神秘的错误消息或奇怪的行为,但它也报告了一些更高级的问题,其中极端情况可能导致延迟失败。

Haskell 源代码在 GitHub 上可用!

原文由 dvd818 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题