Modification de la variable $ path de zsh dans un script à générer

StackOverflow https://stackoverflow.com/questions/1208831

  •  05-07-2019
  •  | 
  •  

Question

J'ai hérité d'un script zsh qui configure un ensemble de variables d'environnement pour certaines simulations. Il veut éditer la variable $ path afin de pouvoir trouver certains scripts Perl:

typeset -U path
path=( ${SIMENV_BIN} $path )

Cependant, lorsque je source le script ( source setup.source ), la variable $ path reste intacte. Si je recopie ces lignes à l'invite de commande, elles font mettent à jour $ path. Si je sauve des échos dans le script et que je le source à nouveau, la commande typeset semble effacer la variable $ path.

Est-ce que cela vous dérangerait de m'expliquer ce qui se passe et comment je peux y remédier?

Était-ce utile?

La solution

Par défaut, la commande typeset crée une nouvelle variable portant le nom fourni local à la fonction actuelle. Par conséquent, les modifications apportées à cette variable seront perdues lors du retour de la fonction. Ajoutez l'option -g :

typeset -gU path

Ceci empêchera la localisation de la variable.

Autres conseils

Je pense que vous devrez peut-être utiliser .zshenv car il provient de tous les appels du shell.

http://zsh.sunsite.dk/Contrib/startup/std/zshenv

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top