或者我如何确保Makefile /脚本的可靠性?
更新:通过shell脚本我的意思是sh方言(bash,zsh,无论如何),Makefile我的意思是GNU make。我知道,他们是不同的野兽,但他们有许多共同之处。
P上。是的,我知道,静态代码分析无法验证所有可能的情况,我需要以某种方式编写我的Makefile和shell脚本,这是可靠的。我只需要工具,告诉我,当我使用不良做法时,当我忘记它们或者没有注意到大脚本时。不是为我修复错误,而是重新审视。
答案 0 :(得分:1)
对于sh脚本,ShellCheck将执行一些静态分析检查,例如检测变量修改何时被子壳隐藏,何时意外使用[ $foo=bar ]
或忽略引用可能包含空格的变量。它还评论了一些风格问题,例如无用的猫或使用sed时可以使用参数扩展。