Según tengo entendido, la forma habitual de agregar una ruta a la PATH
variable de entorno es concatenando rutas separadas por el :
carácter.
Por ejemplo, si quiero añadir tres caminos a la misma /my/path/1
, /my/path/2
y /my/path/3
, me gustaría tener que hacerlo de la siguiente manera:
PATH=$PATH:/my/path/1:/my/path/2:/my/path/3
que no es fácil de leer
¿Hay alguna manera de definir o agregar rutas a la PATH
variable usando una sintaxis de varias líneas ? ¿Quizás usando matrices? Estoy buscando algo como esto:
PATH =
$PATH
/my/path/1
/my/path/2
/my/path/3
En caso de que haya soluciones interesantes que sean específicas de shell, estoy buscando una solución en zsh.
fuente
paste
solución?No es una solución interesante en absoluto, pero muy portátil:
fuente
+=
para evitar tener que reconstruir completamente la cadena.En zsh,
$path
es una matriz:Nota: ambos
path
son minúsculas.fuente
En zsh, si está agregando directorios al final de la ruta:
Portably: ¿Cómo agregar correctamente una ruta a PATH?
Puede usar calificadores globales para excluir entradas que no son directorios existentes o enlaces simbólicos a los mismos. Esto puede o no ser deseable, dependiendo de si espera que los directorios se agreguen más tarde durante la sesión (por ejemplo, si están en sistemas de archivos remotos). No se puede hacer eso con la
path+=/my/path
sintaxis porque el lado derecho está en un contexto de cadena y, por lo tanto, no sufre problemas; puede hacerlopath+=(/my/path)
ya que cada elemento de la matriz se expande en un contexto de lista.fuente