![使 OSX 命令行参数独立于其他位置](https://linux22.com/image/1387592/%E4%BD%BF%20OSX%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%8B%AC%E7%AB%8B%E4%BA%8E%E5%85%B6%E4%BB%96%E4%BD%8D%E7%BD%AE.png)
当我在 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