macOS 中的命令行实用程序仅接受第一个参数处的选项

macOS 中的命令行实用程序仅接受第一个参数处的选项

Linux 中的命令行实用程序接受例如:

tail file.log -fn0

但 macOS 中的 utils 没有,选项必须是第一个 arg:

tail -fn0 file.log

有可能改变这一点吗?

答案1

但是MACOS中的Zsh不接受,选项必须是第一个arg:

这很可能是因为 macOS 是BSD 衍生品这意味着通用实用程序(例如greptail...)是 BSD 变体,而不是 Linux 上使用的 GNU 版本

这意味着在功能、使用方面存在一些细微的(有时是巨大的)变化......


有可能改变这一点吗?

是的,您可以使用自制安装 GNU 版本的工具

Homebrew 不会取代默认实用程序(默认情况下),但将它们放在您的中,PATH对于大多数情况,您可以通过g在工具名称前添加(对于 GNU)来访问它们,在您的情况下,这将是gtail

相关信息和命令请参见这里Apple.SE 答案

相关内容