在OSX上使用"rm dir -rf"而不是"rm -rf dir"

klm*_*123 0 macos shell

命令在OSX终端中使用固定的选项顺序.所以,例如,我必须使用rm -rf name,而不是rm name -rf,这对我来说更方便(例如我可以先添加所有名称,然后查看我是否有目录并需要添加-r).

有没有办法让OSX命令更通用的语法?

我不确定这是可能的,但是,例如,我想知道一些shell命令的预处理与... python程序,它将重新格式化选项并调用适当的命令.但我不熟悉python,并且不知道每次编写命令时如何运行这样的程序.

Sto*_*ica 5

OSX具有常见UNIX工具的BSD实现.这些比在典型的Linux中找到的GNU实现更严格.因此,不仅仅是rm,但是,例如ls,mkdir标志必须在OSX中的文件名参数之前.我发现这也很烦人.

可能你可以安装这些工具的GNU版本.在最坏的情况下,您可以下载源代码并构建它们.将它们放在一个新的专用目录中,并将该目录添加到您的目录中PATH.

我不认为还有另一种方式.您不能像这样改变BSD工具的行为.

UPDATE

正如@bdesham指出的那样,您可以coreutils使用Homebrew安装以获得GNU实现.我也可以通过MacPorts确认.