Quando executo export $PATH
no bash, obtenho o erro not a valid identifier
. Por quê?
Comentários
Resposta
Executar export $PATH
tentará exportar uma variável com um nome igual ao valor de $PATH
(após divisão de palavras ). Ou seja, é equivalente a escrever algo como export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. E como /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
não é um nome de variável válido, ele falha. O que você deseja fazer é export PATH
.
export
(equivalente a declare -x
) no Bash simplesmente torna a variável disponível para subshells.
Para imprimir o valor de uma variável de maneira segura e legível, use printf %q "$PATH"
.
Comentários
- Basicamente eu criei algumas variáveis, JAVA_HOME, MAVEN_HOME e quero ter certeza de que o bash as definiu corretamente, então exporto $ PATH para ver se as variáveis de caminho foram definidas corretamente para a variável PATH
- Depende do shell, não do sistema operacional. Eu ficaria surpreso se
export
já funcionasse assim no Bash. - Além disso, a variável PATH já é exportado e não precisa ser exportado novamente.
Resposta
O seguinte comando export $PATH=somePath
retornará not a valid identifier
e isso se deve ao $
antes da variável PATH
.
solução:
export PATH=somePath
Comentários
- Isso é o que responde exatamente à minha pergunta. Obrigado Kevin
Resposta
Você deve usar desta forma:
export PATH=$PATH:/something/bin
Em vez de:
export $PATH=$PATH:/something/bin
apenas remova o sinal $
da esquerda lado da mão.
Resposta
Você provavelmente precisou anexar um $ PATH à sua variável PATH existente?
export PATH=$PATH:/something/bin
Comentários
- OK, isso está no mesmo terreno da pergunta, mas está fora do campo esquerdo .
$
é “valor de”. Você ' reexporta a variávelPATH
, não acessando seu valor, então ' sexport PATH
sem$
.