"No es un identificador válido" cuando hago "exportar $ PATH"

37

Cuando ejecuto export $PATHen bash, me sale el error not a valid identifier. ¿Por qué?

ThaSaleni
fuente
8
En bash y otras conchas, $es "valor de". Estás exportando la variable PATH, no accediendo a su valor, por lo que es export PATHsin $.
Gilles 'SO- deja de ser malvado'
Un problema similar más común: askubuntu.com/questions/529919/…
Vadzim

Respuestas:

40

Running export $PATHintentará exportar una variable con un nombre igual al valor de $PATH(después de la división de palabras ). Es decir, es equivalente a escribir algo así export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. Y como /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binno es un nombre de variable válido, falla. Lo que quieres hacer es export PATH.

export(equivalente a declare -x) en Bash simplemente hace que la variable esté disponible para subcapas.

Para imprimir el valor de una variable de forma segura y legible, use printf %q "$PATH".

l0b0
fuente
Básicamente, he creado algunas variables, JAVA_HOME, MAVEN_HOME y quiero asegurarme de que bash las haya configurado correctamente, así que exporto $ PATH para ver si las variables de ruta se han establecido correctamente en la variable PATH
ThaSaleni
1
Esto depende del shell, no del sistema operativo. Me sorprendería si exportalguna vez trabajara así en Bash.
l0b0
Además, la variable PATH ya se exporta y no necesita exportarse nuevamente.
Kusalananda
19

El siguiente comando export $PATH=somePathvolverá not a valid identifiery eso se debe a $la PATHvariable anterior.

solución:

export PATH=somePath

Kevin Crain
fuente
0

Deberías usarlo de esta manera:

export PATH=$PATH:/something/bin

En lugar de:

export $PATH=$PATH:/something/bin

simplemente quite el $letrero del lado izquierdo.

Abd ElRahman Mahareek
fuente
-1

¿Probablemente tuvo la necesidad de agregar un $ PATH a su variable PATH existente?

export PATH=$PATH:/something/bin
Thad Guidry
fuente
2
Bien, esto está en el mismo parque de pelota que la pregunta, pero está en el jardín izquierdo.
G-Man dice 'Reincorporar a Monica' el