我该如何测试shell脚本以验证其是否符合POSIX标准?我有一组用于各种版本的Bash和可能其它shell编写的大量脚本。我想确定哪些是完全符合POSIX标准的,哪些不是。理想情况下,我希望找到类似于lint但适用于shell脚本的工具。
无法静态验证脚本是否符合POSIX标准,因为差异不仅限于语法变化,有些差异会改变某些命令的行为方式。这个链接描述了Bash和POSIX标准之间的差异。但是,您可以通过使用bash --posix ./your_script.sh或在脚本内部使用set -o posix来显式检查您的脚本。
checkbashisms
。它测试并报告不可移植的语法。 - John1024sed -i
。 - Walter A