是否有任何shell脚本和/或Makefile静态代码分析器



或者如何确保我的生成文件/脚本的可靠性?

更新:通过shell脚本,我的意思是sh方言(bash,zsh,随便什么(,通过Makefiles,我的意思是GNU make。我知道,它们是不同的野兽,但它们有很多共同点。

P. S. 是的,我知道,静态代码分析无法验证所有可能的情况,我需要以某种方式编写我的 Makefile 和 shell 脚本,这将是可靠的。我只需要工具,它会告诉我,当我使用不良做法时,当我忘记它们或在大脚本中没有注意到时。不是为我修复错误,而是再看一眼。

对于 sh 脚本,ShellCheck 会执行一些静态分析检查,例如检测变量修改何时被子 shell 隐藏,何时意外使用 [ $foo=bar ] 或何时忽略引用可能包含空格的变量。它还评论了一些风格问题,例如无用地使用 cat 或在可以使用参数扩展时使用 sed。

最新更新