是否有任何脚本可以为 BSD 和 GNU 命令的子集(当然,丰富的子集最好)提供兼容层?
例如,可能处理的案例包括:
- dd 及其不兼容的
M
块m
大小指示器 - ping 及其不兼容
-w
与-W
等待时间选项
答案1
不,没有这样的脚本。
你基本上有两个选择:
- 只需使用 POSIX 指定的选项子集。请注意,以可移植的方式获取符合 POSIX 的 shell 二进制文件甚至可能具有挑战性。例如,
/bin/sh
不必遵守。获得符合 POSIX 标准的 shell 的可移植方法是:PATH=$(getconf PATH) command -v sh
- 只需在各处安装 GNU 版本并使用它们即可。