OS X - Cree un directorio bin personal (~ / bin) y ejecute scripts sin especificar su ruta completa

18

Por lo tanto, lo que estoy tratando de hacer es crear un directorio personal bin en mi carpeta de inicio. He creado la siguiente carpeta:

/Users/thi/bin

Pongo mis scripts en esta carpeta, pero si escribo en la Terminal:

myScript

No se ejecuta.

Me dijeron que tenía que exportar esta ruta bin, algo relacionado con echo $PATH , pero no sé cómo hacerlo.

    
pregunta Thi G. 23.08.2013 - 14:32

3 respuestas

19

Debe agregar lo siguiente al archivo ~/.profile :

export PATH=/Users/thi/bin:$PATH

Entonces source ~/.profile

Tenga en cuenta que es posible que necesite crear este archivo, y debido a que comienza con un . , puede que no esté visible en el buscador para editarlo a través de una aplicación como un editor de texto. Para enumerar todos los archivos, incluidos los ocultos, utilice:

ls -la ~/
    
respondido por el tfjgeorge 23.08.2013 - 14:38
10

Si usas bash, agrega una línea como esta a ~/.bash_profile :

PATH=~/bin:$PATH

PATH está marcado para exportar de forma predeterminada, por lo que no necesita usar export .

Si existen tanto ~/.bash_profile como ~/.profile , bash solo lee ~/.bash_profile cuando se invoca como un shell de inicio de sesión interactivo. ~/.profile también es usado por otros shells que podrían no entender las mismas opciones de configuración que bash.

Terminal e iTerm 2 abren nuevos shells como shells de inicio de sesión de forma predeterminada. Cuando se invoca a bash como shell de inicio de sesión interactivo, lee ~/.bash_profile pero no ~/.bashrc . Los emuladores de terminal en otras plataformas a menudo abren nuevos shells como shells que no son de inicio de sesión, por lo que, por ejemplo, bash lee ~/.bashrc pero no ~/.bash_profile . Los usuarios de OS X a menudo utilizan ~/.bash_profile como el archivo de configuración personal correspondiente a ~/.bashrc en otras plataformas, pero también es común que la fuente ~/.bashrc de ~/.bash_profile o le diga a Terminal o iTerm 2 que abran nuevos shells como no. shells de inicio de sesión.

También puede cambiar la ruta de forma más global en /etc/paths o /etc/launchd.conf , pero en muchos contextos, la ruta seguirá por defecto en /usr/bin:/bin:/usr/sbin:/sbin . Y solo he necesitado cambiar la ruta en los editores de shells y de texto.

    
respondido por el user495470 23.08.2013 - 23:39
3

Normalmente, pondrías rutas adicionales después de $PATH como PATH=$PATH:/$HOME/bin porque si no quieres reemplazar otro ejecutable con el mismo nombre que podría estar en /bin , etc.

    
respondido por el Nic MacKenzie 23.08.2013 - 17:42

Lea otras preguntas en las etiquetas