我应该将一些为bash编写的脚本部署到各种Linux/Unix机器上,在这些机器中,我可能没有bash本地可用。我不知道最初的作者是否真的需要bash来运行脚本,或者仅仅是因为它是现代Linuxes中的默认shell。
您是否知道任何以shell脚本作为输入的脚本、应用程序或在线服务,使用语法对几个常见shell进行语法检查,并将其作为输出返回某种类型的验证估计,比如“该脚本应该运行在以下shell之一下: ash、bash、ksh、zsh”。
发布于 2013-08-04 08:53:20
我不知道有什么工具能满足您的要求,但是有一个叫做校验基的工具至少可以检查不可移植的语法。IIRC,它是在Ubuntu中打包的,是devscript包的一部分。
Ubuntu还切换到将破折号作为默认的shell,并编写了一个关于如何应对使Dash be /bin/sh的变化的有用页面。我觉得这是个很好的参考。
https://stackoverflow.com/questions/18041217
复制相似问题