Demure ya respondió a su pregunta específica. Sin embargo, esta es una zsh
pregunta y sobre PATH
. Así que aquí hay otro punto: además de la variable estándar $PATH
, también $path
hay una matriz. Aquí ves la diferencia (dos puntos o no ...):
$ print $PATH
/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
$print $path
/bin /usr/bin /usr/local/bin /usr/X11R6/bin
Ambas variantes se mantienen sincronizadas automáticamente. Entonces, ¿cuál es el beneficio de usar una matriz?
- A través de este último puede declarar
typeset -U path
"mantener solo la primera aparición de cada valor duplicado" (desde man zshbuiltins
). Eso significa que esto mantiene su camino limpio, incluso si obtiene su fuente sucesivamente ~/.zshrc
(porque lo cambió o lo que sea) y no lo abarrote con los mismos valores una y otra vez.
- Puede usar
path+=(/new/path)
para agregar un nuevo directorio a su RUTA. Para eliminar un elemento, debe usar algunos trucos, consulte, por ejemplo, /programming//q/3435355/2037712 o http://www.zsh.org/mla/users//2005/msg01132.html
- Puede recorrer fácilmente los elementos en la RUTA a través de
for i ($path) { print $i # or do something else }
Finalmente, aquí hay un extracto de mi configuración:
typeset -U path
path=(/new/path1
/new/path2
$path)
export PATH
.zshenv
.