"Pas un identifiant valide" quand je "exporte $ PATH"

37

Quand je cours export $PATHen bash, j'obtiens l'erreur not a valid identifier. Pourquoi?

ThaSaleni
la source
8
Dans bash et autres coquillages, $est «valeur de». Vous exportez la variable PATHsans accéder à sa valeur, c'est donc export PATHnon $.
Gilles, arrête de faire le mal '17
Un problème similaire plus commun: askubuntu.com/questions/529919/…
Vadzim

Réponses:

40

Running export $PATHessayera d'exporter une variable avec un nom égal à la valeur de $PATH(après division du mot ). Cela revient à écrire quelque chose comme export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. Et comme ce /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binn'est pas un nom de variable valide, cela échoue. Ce que tu veux faire, c'est export PATH.

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

Pour imprimer la valeur d’une variable en toute sécurité et de manière lisible, utilisez printf %q "$PATH".

l0b0
la source
Fondamentalement, j'ai créé des variables, JAVA_HOME, MAVEN_HOME et je veux m'assurer que bash les a correctement définies. J'exporte donc $ PATH pour voir si les variables de chemin ont été correctement définies dans la variable PATH
ThaSaleni
1
Ceci dépend du shell, pas du système d'exploitation. Je serais surpris si exportjamais travaillé comme ça dans Bash.
l0b0
De plus, la variable PATH est déjà exportée et il n'est pas nécessaire de l'exporter à nouveau.
Kusalananda
19

La commande suivante export $PATH=somePathva retourner not a valid identifieret c'est à cause de l' $avant la PATHvariable.

Solution:

export PATH=somePath

Kevin Crain
la source
0

Vous devriez l'utiliser de cette façon:

export PATH=$PATH:/something/bin

Au lieu de:

export $PATH=$PATH:/something/bin

Il suffit de retirer le $signe du côté gauche.

Abd ElRahman Mahareek
la source
-1

Vous aviez probablement besoin d'ajouter un $ PATH à votre variable PATH existante?

export PATH=$PATH:/something/bin
Thad Guidry
la source
2
OK, c'est dans le même stade que la question, mais c'est dans le champ gauche.
G-Man dit 'Réintégrez Monica'