Appearance
语法与特性
Ash 的语法高度贴近 POSIX 标准,是编写容器启动脚本的最佳选择。
POSIX 标准合规
由于是 BusyBox 的一部分,Ash 去除了 Bash 特有的大量“语法糖”,强制要求开发者编写标准 POSIX 脚本:
- 循环:支持标准的
for、while。 - 条件判断:使用
[(test 命令),而不支持 Bash 的扩展[[ ]]。 - 重定向:支持基础的文件重定向,但不支持某些极端的进程替换特性
<(command)。
BusyBox 的特殊加持
虽然 Ash 自身只是一个 Shell,但由于它通常与 BusyBox 绑定,你可以直接在脚本里调用精简版的 awk, sed, grep,无需担心容器内缺少这些工具。这种“全家桶”式的打包,让 Ash 在极简环境下极其强大。