Quando executo export $PATH no bash, obtenho o erro not a valid identifier. Por quê?

Comentários

  • No bash e em outros shells, $ é “valor de”. Você ' reexporta a variável PATH, não acessando seu valor, então ' s export PATH sem $.
  • Um problema semelhante mais comum: askubuntu.com/questions/529919/ …

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 .

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *