сделать аргумент командной строки 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

Если вы хотите заменить rm OS X на GNU rm, запустите brew install coreutilsи добавьте /usr/local/opt/coreutils/libexec/gnubinперед другими каталогами в пути.

Связанный контент