¿Dónde debo almacenar las aplicaciones de la línea de comandos?

45

Cuando descargo aplicaciones de línea de comandos, están ubicadas en mi directorio ~/Downloads/ . Pero siento que este es un lugar equivocado para ubicar una aplicación de línea de comandos. ¿Dónde en el sistema de archivos de Mac OS X debo almacenar las aplicaciones de la línea de comandos?

/Applications/ también se siente mal, es más para aplicaciones de escritorio. Y /bin/ suena más para las aplicaciones que pertenecen a OS X.

    
pregunta Jonas 11.08.2013 - 17:57

2 respuestas

43

Como OS X proviene de un patrimonio de Unix, deseará almacenar archivos de sistema en /usr/local/bin para las aplicaciones de línea de comandos y los scripts que pertenecen al sistema localmente y no a un usuario específico. Es posible que deba crear este directorio primero ejecutando:

sudo mkdir -p /usr/local/bin

Puede mover cualquier aplicación de línea de comandos a esa carpeta ejecutando:

sudo mv my-binary /usr/local/bin/

Para asegurarse de que /usr/local/bin es parte de su ruta de búsqueda estándar en Terminal, verifique el contenido de /etc/paths y agréguelo si es necesario:

grep -w /usr/local/bin /etc/paths || sudo sh -c 'echo /usr/local/bin >> /etc/paths'

Algunos usuarios crean un segundo directorio para los scripts de nivel de usuario, pero esto está aún más sujeto a las preferencias personales.

Por lo general, hago un directorio bin en cada carpeta de usuario y luego lo oculto del Finder, pero tú mismo puedes tomar esa decisión si lo quieres escondido:

 mkdir ~/bin
 chflags hidden ~/bin

En este caso, deseará que la ruta de cada usuario incluya esta ubicación modificando los scripts de inicio del shell ( ~/.bash_profile para bash, que es el shell estándar)

 export PATH=$PATH:~/bin

o codificando la ruta de acceso de cada aplicación cuando la ejecutes.

    
respondido por el nohillside 11.08.2013 - 19:21
6

Considere la creación de un directorio /opt , que es otra ubicación en la que aparecería el software Unix personalizado por convención.

    
respondido por el Matt Stephenson 11.08.2013 - 19:28

Lea otras preguntas en las etiquetas