GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar una nueva entrada a la variable PATH en ZSH

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

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

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


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 :

Puedes añadir a tu PATH de forma mínima. No hay necesidad de paréntesis a menos que agregue más de un elemento. Tampoco suele necesitar comillas. Así que la forma simple y corta de agregar es:

path+=/some/new/bin/dir

Esta sintaxis en minúsculas usa path como una matriz , pero también afecta a su equivalente en mayúsculas, PATH (al que está "vinculado" a través de typeset ).

(Tenga en cuenta que 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 esparcir configuraciones de ruta alrededor de su .zshrc (como se indicó anteriormente) y, naturalmente, dará lugar a que las configuraciones enumeradas anteriormente tengan prioridad. (aunque es posible que de vez en cuando quiera usar el formulario "anteponer" path=(/some/new/bin/dir $path) ).

Cositas relacionadas

Tratando path de esta manera (como una matriz) también significa:no es necesario 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 arreglos, tenga en cuenta que los arreglos generalmente no se pueden exportar.

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

typeset -U path

RUTA rellenada previamente

La razón por la que su ruta ya tiene algunas entradas se debe a que los archivos de shell de su sistema configuran la ruta para usted. Esto está cubierto en un par de publicaciones más:

  • ¿Por qué y dónde se establece la variable de entorno $PATH?
  • ¿Dónde está la fuente de $PATH? No puedo encontrarlo en .zshrc

Linux
  1. 2 formas de establecer permanentemente la variable $PATH en ubuntu

  2. Cómo establecer la variable $Path en Linux

  3. Dar el punto de montaje de un camino

  4. Creando un nuevo directorio en C

  5. ¿Hay una variable de ruta de instalación de Qt que pueda usar en el archivo .pro?

Explorando el nuevo comando secreto Podman

¿Nuevo proceso principal cuando muere el proceso principal?

Agregar carpetas a su variable de entorno de ruta?

Cómo cambiar la variable PATH en Linux

Recorriendo los elementos de una variable de ruta en Bash

Eliminar rutas redundantes de la variable $PATH