21 votos

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

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

/Users/thi/bin

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

myScript

No funciona.

Me han dicho que tengo que exportar esta ruta de la papelera, algo relacionado con echo $PATH pero no sé cómo hacerlo.

22voto

tfjgeorge Puntos 176

Debe añadir lo siguiente al archivo ~/.profile :

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

Entonces source ~/.profile

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

ls -la ~/

10voto

Si utiliza bash, añada una línea como ésta a ~/.bash_profile :

PATH=~/bin:$PATH

PATH está marcado para la exportación por defecto, por lo que no es necesario utilizar export .

Si ambos ~/.bash_profile y ~/.profile existen, bash sólo lee ~/.bash_profile cuando se invoca como un shell de inicio de sesión interactivo. ~/.profile también es utilizado por otros shells que pueden no entender las mismas opciones de configuración que bash.

Terminal y iTerm 2 abren nuevos shells como shells de acceso por defecto. Cuando se invoca a bash como shell de inicio de sesión interactivo, lee ~/.bash_profile pero no ~/.bashrc . Los emuladores de terminal de otras plataformas suelen abrir nuevos shells como shells que no son de acceso, así por ejemplo bash lee ~/.bashrc pero no ~/.bash_profile . Los usuarios de OS X suelen utilizar ~/.bash_profile como el archivo de configuración personal correspondiente a ~/.bashrc en otras plataformas, pero también es habitual que la fuente ~/.bashrc de ~/.bash_profile o para decirle a Terminal o a iTerm 2 que abran nuevos shells como shells que no son de acceso.

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á siendo por defecto /usr/bin:/bin:/usr/sbin:/sbin . Y realmente sólo he necesitado cambiar la ruta en shells y editores de texto.

3voto

Nic MacKenzie Puntos 21

Lo normal es poner rutas adicionales después de $PATH como PATH=$PATH:/$HOME/bin porque si no quiere sustituir a otro ejecutable con el mismo nombre que pueda estar en /bin etc.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X