shell 命令根据 OS 表现不同的原因

Reason why a shell command behave differently depending on OS

sed 一样,有 shell 个命令在相同 shell 中的行为方式不同。

它们的行为似乎有所不同,具体取决于 OS(*BSD 或 GNU/Linux)而不是 shell,尽管它们是 shell 命令。我想知道这一点。谁能解释一下为什么 shell 脚本在多个平台上的行为方式不同?

不同的系统在一定程度上发展了自己的工具和语法。 Linux 使用支持多种现代选项的 GNU 工具链。但是,Linux 和 BSD(以及许多其他操作系统)有一个共同点:POSIX.

这是POSIX specification for sed。您可以依靠这些在所有 *nix 平台上工作。通常有一种方法可以以一种适用于所有版本 sed.

的方式来做你想做的事情

您还会发现 awkgawk 之间存在同样的不一致。