维基百科说执行dash
速度比bash
.我的问题是,如果我设置/bin/sh
为,那么在其 shebang 行中dash
使用的所有脚本是否都将在 下工作?/bin/sh
bash
dash
答案1
不,并非所有用于 bash 的脚本都适用于 dash。许多“bashism”在 dash 中不起作用,例如 C 风格的 for 循环和双括号比较运算符。如果您有一组想要用于 dash 的 bash 脚本,您可以考虑使用制止主义。该工具将检查您的脚本是否有仅适用于 bash 的功能,而这些功能不太可能在 dash 中工作。
答案2
甚至 sh 脚本也不与 dash 兼容。 Pkgsrc 的引导程序,例如。