¿Es posible obtener el conjunto completo de opciones de Unix para las herramientas de línea de comandos en OS X?

13

Sigo Sugerencia sobre la herramienta Unix en Twitter y es interesante que muchos de los consejos que se publican no están disponibles en OS X.

Por ejemplo:

  

cp - u solo copiará los archivos que no existen, o son más nuevos que sus homólogos existentes, en el directorio de destino.

Probar esto en mi máquina da como resultado:

cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
   cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory  

¿Por qué estas opciones no están disponibles y es posible obtener acceso a ellas en OS X?

    
pregunta KennyPeanuts 09.05.2013 - 16:59

2 respuestas

11

Haz Homebrew y haz que instale las utilidades principales. A continuación, puede ver si la versión GNU de cp es compatible con las banderas que desea. Aquí hay una buena respuesta en el sitio de un socio y le indicaré los pasos exactos que necesitará para que cp sea reemplazado por la versión GNU si lo desea:

Aquí está homebrew - enlace
Aquí está la larga historia: enlace

Un ejemplo de este tipo de entorno es [Homebrew] ( enlace ) que, por ejemplo, tiene GNU sed entre otras cosas . Una vez que hayas instalado Homebrew, puedes escribir

brew install coreutils

e instale GNU Coreutils . Estos le proporcionarán sed , date , printf , wc y muchas otras herramientas que se suministran con GNU / Linux, pero no con OS X. Sin embargo, para no "anular" los binarios predeterminados de OS X, serán prefijados con g por defecto. Entonces, después de instalar Coreutils, si quieres usar GNU sed, escribe

gsed

Si esto es demasiado complicado para escribir cada vez, puede agregar un directorio "gnubin" a su PATH y simplemente llamar a GNU sed con sed . Deberá agregar lo siguiente a su ~/.bash_profile :

PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
respondido por el bmike 09.05.2013 - 17:23
3

El motivo es que OSX usa herramientas de línea de comandos BSD y los usuarios de la sugerencia de la herramienta Unix probablemente estén usando Linux, que usa herramientas de línea de comandos GNU.

Puede instalar herramientas GNU en OSX (y BSD en Linux).

La forma más sencilla es usar un administrador de paquetes como Macports, Homebrew o Fink

    
respondido por el Mark 09.05.2013 - 17:06

Lea otras preguntas en las etiquetas