web-dev-qa-db-fra.com

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

Quand je lance export $PATH en bash, j'obtiens l'erreur not a valid identifier. Pourquoi?

41
ThaSaleni

Fonctionnement export $PATH essaiera d'exporter une variable avec un nom égal à la valeur de $PATH (après séparation de mots ). Autrement dit, cela équivaut à écrire quelque chose comme export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. Et depuis /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin n'est pas un nom de variable valide, il échoue. Ce que vous voulez faire, c'est export PATH.

export (équivalent à declare -x) dans Bash met simplement la variable à la disposition des sous-coquilles.

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

44
l0b0

La commande suivante export $PATH=somePath renverra not a valid identifier et c'est à cause du $ avant la variable PATH.

solution:

export PATH=somePath

23
Kevin Crain

Vous devez l'utiliser de cette façon:

export PATH=$PATH:/something/bin

Au lieu de:

export $PATH=$PATH:/something/bin

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

0