使 OSX 命令行参数独立于其他位置

使 OSX 命令行参数独立于其他位置

当我在 Linux 下运行此命令时,它有效:

rm xxx -rf

但在 OSX 中,我必须将参数放在前面,例如:

rm -rf xxx

有没有什么办法解决这一问题?

答案1

POSIX实际上需要将选项参数放在非选项参数之前:

概要

rm [-fiRr] file...

GNU/Linux 不符合 POSIX 但 OS X 符合。如果设置了 POSIXLY_CORRECT,GNU rm 也不允许将非选项参数放在选项参数之前:

$ touch a;grm a -rf
$ touch a;POSIXLY_CORRECT= grm a -rf
grm: cannot remove ‘-rf’: No such file or directory

如果要用 GNU rm 替换 OS X 的 rm,请运行并在路径上的其他目录之前brew install coreutils添加。/usr/local/opt/coreutils/libexec/gnubin

相关内容