Alterar la variable $ path de zsh en un script que se debe obtener
-
05-07-2019 - |
Pregunta
He heredado un script zsh que configura un grupo de variables de entorno para algunas simulaciones. Quiere editar la variable $ path para que se puedan encontrar algunos scripts de Perl:
typeset -U path
path=( ${SIMENV_BIN} $path )
Sin embargo, cuando obtengo el script ( source setup.source
), la variable $ path permanece intacta. Si copie estas líneas en el indicador de comando, do actualizar $ ruta. Si rocío 'echo' en el script y lo obtengo de nuevo, el comando de composición tipográfica parece borrar la variable $ path.
¿A alguien le importaría explicarme qué está pasando y cómo puedo solucionarlo?
Solución
De forma predeterminada, el comando de composición tipográfica crea una nueva variable con el nombre suministrado que es local a la función actual, por lo que los cambios en esa variable se perderán cuando la función regrese. Agregue la opción -g
:
typeset -gU path
Esto evitará la localización de la variable.
Otros consejos
Creo que es posible que necesites usar .zshenv ya que se encuentra en todas las invocaciones del shell.