OS X Cambia tu variable de entorno PATH

Cuando ejecuta un comando desde un shell UNIX o similar a UNIX, el shell busca el archivo ejecutable utilizando los directorios listados en su variable PATH como un mapa. Por conveniencia, agregar directorios a esta variable de entorno significa que no tiene que buscar un archivo cada vez que lo ejecute. Seguir estas instrucciones le permitirá agregar un directorio a la búsqueda PATH.


Para cambiar su ruta, debe editar el archivo .profile en su directorio de inicio. Si se siente cómodo usando el editor vi, probablemente no necesite seguir leyendo. Si no, puede usar TextEdit para editar su perfil.

El .profile predeterminado es bastante corto. El archivo .profile se lee cuando abre una ventana de Terminal y cada línea se ejecuta como si se escribiera un comando en la ventana de Terminal. Si bien esto es útil porque puede hacer que cualquier comando disponible se ejecute cada vez que ingresa a un shell, nos preocupa cambiar una variable de entorno, PATH.

En tu editor, encuentra la línea que comienza con export PATH = y échale un vistazo para asegurarte de que no contenga la ruta del directorio que vas a agregar. A veces, la variable PATH puede alargarse, pero lo más probable es que la suya tenga algunos directorios separados por dos puntos, tal vez algo como esto:

export PATH = / opt / local / bin: / opt / local / sbin: $ PATH

Hay algunas cosas a tener en cuenta antes de hacer cambios. El formato de esta línea es importante. El uso de espacios en este comando, o su falta, es importante. En particular, no puede haber espacios alrededor del signo igual o entre cualquiera de los directorios. Si hay espacios en el nombre del directorio que desea agregar, deberá escapar del espacio precediéndolo con una \ barra diagonal inversa o colocando la ruta entre comillas (export PATH = "/ ruta / aquí").

los export = palabra clave delante de esa línea tiene un propósito muy específico. Definir una variable sin exportarla hace que esté disponible solo para el shell actual, no para cualquier shell subsiguiente. Puede pensar que no planea realizar shells posteriores, pero esto sucede cada vez que ejecuta un script de shell. Si la variable PATH no se exportó, cuando ejecute un script de shell, el PATH ya no existirá y es posible que el script falle.

El $ PATH al final del ejemplo anterior incluye el valor anterior de la variable (si existe) en el final del PATH. De manera predeterminada, esto agregará ': / bin: / sbin: / usr / bin: / usr / sbin' al final de la RUTA para usted, lo cual es útil porque casi todo lo que ejecuta desde la línea de comando vive allí.

Entonces, para agregar un nuevo directorio a la ruta, simplemente agréguelo a la línea PATH existente en .profile teniendo cuidado de separarlo de otros directorios allí con dos puntos y tenga cuidado de no introducir espacios no deseados (todo lo que esté después del espacio será ignorado). Por ejemplo, para agregar el directorio / mightyq / bin a la RUTA mostrada arriba, la línea podría convertirse en cualquiera de los siguientes ejemplos:

export PATH = / mightyq / bin: / opt / local / bin: / opt / local / sbin: $ PATH
export PATH = / opt / local / bin: / mightyq / bin: / opt / local / sbin: $ PATH
export PATH = / opt / local / bin: / opt / local / sbin: $ PATH: / mightyq / bin

Tenga en cuenta que en el tercer ejemplo, el nuevo directorio se agrega al final de la RUTA. Usted tiene la capacidad de optimizar las búsquedas que su shell hará en su nombre cada vez que ejecute un comando organizando su PATH de forma lógica. Colocar directorios de uso poco frecuente o realmente masivos más adelante en el camino puede darte un poco de mejora en el rendimiento (aunque en estos días las cosas son bastante rápidas, así que tienes que ser un poco anal para disfrutar realmente de esto).

Si no necesita un directorio en su ruta, puede revertir el proceso eliminando el directorio no deseado que sigue teniendo cuidado de conservar los espacios sin espacios, las reglas de separación de dos puntos.

Una última nota, para probar el cambio que realizó, puede usar el comando echo, pero primero debe hacer que el shell vuelva a cargar el .profile. Suponiendo que se encuentre en su directorio de inicio (de lo contrario, ejecutar 'cd' sin ninguna opción lo llevará allí), ejecute estos comandos:

… /.Profile
echo $ PATH

El primero es un comando pequeño y ordenado en el sentido de que muestra tres usos o interpretaciones del período en una sola línea. El primero . es un método abreviado para hacer que el shell 'genere' o cargue el contenido del archivo subsiguiente como sí mismo, de la manera que el shell usa cuando inicia sesión en un sistema o inicia una ventana de Terminal. Si simplemente ejecutara estos comandos como un script de shell (bash .profile, por ejemplo), iniciaría un nuevo shell, ese shell obtendría el conjunto de variables, y al final de la ejecución del script .profile, ese nuevo shell dejaría de existen y las variables recién definidas serían relegadas al universo faltante del calcetín.

El segundo período significa el directorio de trabajo actual. No es obligatorio de ninguna manera en este comando, pero es un hábito explicar los puntos a la gente, así que ahora lo escribo todo el tiempo. En este contexto, también puede usar ~ / .profile como ~ explícitamente significa su directorio de inicio.

El último punto hace que el .profile se oculte de la vista en una lista de directorios normal o en la vista del Finder. No cambia el archivo de ninguna otra manera, solo lo hace invisible y desordena sus directorios. Para ver los archivos ocultos, puede usar 'ls -a' y es posible que se sorprenda por lo que encuentre.