Saltar al contenido

Agregar una nueva entrada a la variable PATH en ZSH

Tenemos la mejor respuesta que hallamos en internet. Nosotros queremos que te resulte útil y si puedes compartir alguna mejora hazlo con libertad.

Solución:

En realidad, usar ZSH le permite usar un mapeo especial de variables de entorno. Así que simplemente puedes hacer:

# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH

Para mí, esa es una característica muy interesante que se puede propagar a otras variables. Ejemplo:

typeset -T LD_LIBRARY_PATH ld_library_path :

Aquí, agregue esta línea a .zshrc:

export PATH=/home/david/pear/bin:$PATH

EDITAR: Esto funciona, pero la respuesta de Ony a continuación es mejor, ya que aprovecha la interfaz estructurada que proporciona ZSH para variables como $PATH. Este enfoque es estándar para bashpero que yo sepa, no hay razón para usarlo cuando ZSH ofrece mejores alternativas.

Puede adjuntar para usted PATH de forma mínima. No es necesario usar paréntesis a menos que agregue más de un elemento. Tampoco suele necesitar comillas. Asi que la manera simple y corta de agregar es:

path+=/some/new/bin/dir

Esta sintaxis en minúsculas está usando path como un arraypero también afecta a su equivalente en mayúsculas, PATH (al que está “ligado” a través de typeset).

(Darse cuenta de no : es necesario/querido como separador.)

Uso interactivo común

Luego, el patrón común para probar un nuevo script/ejecutable se convierte en:

path+=$PWD/.
# or
path+=$PWD/bin

Uso de configuración común

Puede espolvorear configuraciones de ruta alrededor de su .zshrc (como arriba) y naturalmente conducirá a la las configuraciones enumeradas anteriormente tienen prioridad (aunque es posible que de vez en cuando desee utilizar el formulario “anteponer” path=(/some/new/bin/dir $path)).

Cositas relacionadas

Tratando path de esta manera (como array) también significa: no hay necesidad de hacer un
rehash
para obtener los comandos recién trazados que se encuentran.

También eche un vistazo a vared path como una forma dinámica de editar path

(Y otras cosas).

Puede que solo te interese path para esta pregunta, pero como estamos hablando de exportaciones y matrices, tenga en cuenta que
las matrices generalmente no se pueden exportar.

Tu puedes incluso prevenir PATH de aceptar entradas duplicadas
(consulte esto y esto):

typeset -U path

Nos encantaría que puedieras dar difusión a este tutorial si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *