rm no admite el formato largo --recursivo, - ¿forzar en Mac?

7

Esto parece una locura, pero acabo de registrar una secuencia de comandos de compilación que cambió de rm -rf a rm --recursive --force , ya que sería más legible. Y un colaborador que usa una Mac está reportando estos cortes. Cuando le pido que ejecute rm --help , él obtiene

5gt2:html-build annevk$ rm --help
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

5gt2:html-build annevk$ rm --force
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

Esto me parece una locura que una cosa tan básica no sea compatible con diferentes * nixes. ¿Alguien tiene una solución, o al menos una explicación?

    
pregunta Domenic 05.09.2015 - 14:55

2 respuestas

15

OSX es Unix y utiliza las herramientas BSD. Los nombres extendidos son una extensión GNU.

Solo necesita usar los parámetros estándar, p. ej. -r -f (Estos se encuentran en el estándar POSIX )

El error está en el archivo de compilación utilizando comandos Unix no estándar

    
respondido por el Mark 05.09.2015 - 14:59
4

rm empaquetado con OS X es el BSD rm que cumple con el estándar POSIX . Parece que esperabas GNU rm .

IIRC, las opciones largas son más una cosa de GNU.

    
respondido por el forquare 05.09.2015 - 14:58

Lea otras preguntas en las etiquetas