Когда я запускаю эту команду под Linux, она работает:

rm xxx -rf

но в OSX я должен поставить аргументы вперед, как это:

rm -rf xxx

Есть ли способ это исправить?

1 ответ1

3

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .