Quand je lance export $PATH
en bash, jobtiens lerreur not a valid identifier
. Pourquoi?
Commentaires
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 .
$
est la « valeur de ». Vous ' réexportez la variablePATH
, sans accéder à sa valeur, donc elle ' sexport PATH
sans$
.