Linux 测试及;Shell(Bash)脚本的分析?

Linux 测试及;Shell(Bash)脚本的分析?,linux,bash,unit-testing,static-analysis,Linux,Bash,Unit Testing,Static Analysis,我正在做一个项目,我们将软件部署到Linux机器上。这涉及到整个Bash负载,例如init脚本(例如,SysVinit的service foo start。我最担心的是,我们没有像使用JUnit、FindBugs等作为CI管道的一部分来测试应用层代码那样测试它们。这里通常依赖什么解决方案?是否可以像我们测试应用层代码那样测试和分析这些低级Linux脚本?我不知道我不知道任何Bash单元测试设置,但我确实与一位老派uber脚本编写人员合作过。他会为自己的脚本编写测试。测试包括在被测试的脚本中打开x

我正在做一个项目,我们将软件部署到Linux机器上。这涉及到整个Bash负载,例如init脚本(例如,SysVinit的
service foo start
。我最担心的是,我们没有像使用JUnit、FindBugs等作为CI管道的一部分来测试应用层代码那样测试它们。这里通常依赖什么解决方案?是否可以像我们测试应用层代码那样测试和分析这些低级Linux脚本?

我不知道我不知道任何Bash单元测试设置,但我确实与一位老派uber脚本编写人员合作过。他会为自己的脚本编写测试。测试包括在被测试的脚本中打开xtrace(set-x)功能。然后他会捕获xtrace(+…)的输出从每个测试运行/测试用例中,他都可以通过grep或其他方式解析它,以确保执行正确的操作。希望这会有所帮助。

请参阅静态分析……但是,由于这是一个指向非现场资源的指针请求,根据规则,这显然是非主题的……请参阅“始终非主题”列表中的第4项其中给出的项目是这样的,但它与寻求其他人如何处理这一问题结合在一起。也许“什么解决方案…”可以用更好的措辞。即使是“你怎么做X?”,也非常接近“你最喜欢的是什么?”来自。如果问题没有一个规范的答案,这同样会影响到是否适合。随着时间的推移,这类问题往往会过时(随着新工具的开发或不需要维护),并吸引了大量答案,但没有一个是规范的。bash绝对有xUnit风格的测试框架。请看@CharlesDuffy,我没有说没有,我说我不知道有。如果有比我描述的更好的设置,那就太棒了。