当我在 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