Quand je lance export $PATH en bash, jobtiens lerreur not a valid identifier. Pourquoi?

Commentaires

  • Dans bash et dautres shells, $ est la « valeur de ». Vous ' réexportez la variable PATH, sans accéder à sa valeur, donc elle ' s export PATH sans $.
  • Un problème similaire plus courant: askubuntu.com/questions/529919/ …

Réponse

Lexécution de export $PATH essaiera dexporter une variable avec un nom égal à la valeur sur $PATH (après fractionnement de mots ). Autrement dit, cela équivaut à écrire quelque chose comme export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. Et comme /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin nest pas un nom de variable valide, cela échoue. Ce que vous voulez faire est export PATH.

export (équivalent à declare -x) dans Bash rend simplement la variable disponible pour sous-shell.

Pour imprimer la valeur dune variable de manière sûre et lisible, utilisez printf %q "$PATH".

Commentaires

  • Fondamentalement, jai créé des variables, JAVA_HOME, MAVEN_HOME et je veux massurer que bash les a correctement définies, donc jexporte $ PATH pour voir si les variables de chemin ont été correctement définies dans la variable PATH
  • Cela dépend du shell, pas du système dexploitation. Je serais surpris si export fonctionnait comme ça dans Bash.
  • De plus, la variable PATH est déjà exporté et na pas besoin de être exporté à nouveau.

Réponse

La commande suivante export $PATH=somePath renverra not a valid identifier et cela est dû à la $ avant la variable PATH.

solution:

export PATH=somePath

Commentaires

  • Que est ce qui répond exactement à ma question. Merci Kevin

Réponse

Vous devriez lutiliser de cette façon:

export PATH=$PATH:/something/bin 

Au lieu de:

export $PATH=$PATH:/something/bin 

il suffit de supprimer le signe $ à gauche côté.

Réponse

Vous avez probablement eu besoin dajouter un $ PATH à votre variable PATH existante?

export PATH=$PATH:/something/bin 

Commentaires

  • OK, cest dans le même terrain de jeu que la question, mais il est dans le champ de gauche .

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *