【发布时间】:2017-12-06 21:18:51
【问题描述】:
在 Linux 系统上,当您在 rm * -rf 之类的 shell 中键入命令时,* 和 -rf 的顺序无关紧要。我的 shell 以同样的方式解释它。现在,在我的 Mac 上,当我输入 rm -rf * 时,一切正常,但如果我输入 rm * -rf,则会出现错误 rm: -rf: No such file or directory
我在 macOS 和带有 fish 和 bash shell 的 linux 上进行了尝试。同样的问题。
有谁知道为什么 macOS 上的命令解释器认为命令末尾的 -rf 没有被解释为命令的参数?
【问题讨论】:
-
不同的不是命令解释器(shell);它是
rm命令。传统上,Unix 命令要求所有选项在任何非选项参数之前。 GNU 实用程序和那些以 GNU 风格编写的实用程序允许混合使用选项和非选项参数。 OSX 是 BSD 的衍生产品,表现出更传统的行为。
标签: linux bash macos shell args