gpt4 book ai didi

linux - macos命令行参数最后不起作用

转载 作者:太空狗 更新时间:2023-10-29 11:49:17 25 4
gpt4 key购买 nike

在 linux 系统上,当您在 shell 中键入命令如 rm * -rf 时,*-rf 的顺序没关系。我的 shell 以同样的方式解释它。现在,在我的 Mac 上,当我输入 rm -rf * 时,一切正常,但如果我输入 rm * -rf,则会出现错误 rm: -rf:没有那个文件或目录

我在带有 fish 和 bash shell 的 macOS 和 linux 上尝试过。同样的问题。

有谁知道为什么 macOS 上的命令解释器认为命令末尾的 -rf 没有被解释为命令的参数?

最佳答案

这与 shell 无关,与命令有关。命令行参数的解析不是 shell 的特性和责任,而是实际命令的特性和责任。在这两个系统中,shell 都会按照指定的任何顺序忠实地传递命令行参数,然后由命令的实现来按照它们认为合适的方式解析它们。

在 linux 中,核心实用程序通常是 GNU 实现的,而在 OSX 上,核心实用程序通常是 BSD 实现。

命令的 man 页面应该告诉您它是哪个实现。

例如Linux中man rm的最后一行是这样的:

GNU coreutils 8.21                March 2016                             RM(1)

在 OSX 上:

BSD                            January 28, 1999                            BSD

关于linux - macos命令行参数最后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47683610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com