Cuando ejecuto export $PATH
en bash, aparece el error not a valid identifier
. ¿Por qué?
Comentarios
Respuesta
Al ejecutar export $PATH
se intentará 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 como export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Y dado que /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
no 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 subshells.
Para imprimir el valor de una variable de forma segura y legible, use printf %q "$PATH"
.
Comentarios
- Básicamente he creado algunas variables, JAVA_HOME, MAVEN_HOME y quiero asegurarme de que bash las ha configurado correctamente, así que exporto $ PATH para ver si las variables de ruta se han configurado correctamente en la variable PATH
- Esto depende del shell, no del sistema operativo. Me sorprendería que
export
funcionara así en Bash. - Además, la variable PATH ya se exporta y no necesita volver a exportarse.
Responder
El siguiente comando export $PATH=somePath
devolverá not a valid identifier
y eso se debe a la $
antes de la PATH
variable.
solución:
export PATH=somePath
Comentarios
- Eso es lo que responde exactamente a mi consulta. Gracias Kevin
Responder
Deberías usarlo de esta manera:
export PATH=$PATH:/something/bin
En lugar de:
export $PATH=$PATH:/something/bin
simplemente elimine el signo $
de la izquierda lado de la mano.
Respuesta
¿Probablemente tuvo la necesidad de agregar un $ PATH a su variable PATH existente?
export PATH=$PATH:/something/bin
Comentarios
- De acuerdo, esto está en el mismo campo de juego que la pregunta, pero está en el campo izquierdo .
$
es «valor de». Estás ' exportando la variablePATH
, sin acceder a su valor, por lo que ' sexport PATH
sin$
.