"Não é um identificador válido" quando eu "exporto $ PATH"


Respostas:


40

A execução export $PATHtentará exportar uma variável com um nome igual ao valor de $PATH(após a divisão da palavra ). Ou seja, é equivalente a escrever algo parecido 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:/binnão é um nome de variável válido, ele falha. O que você quer fazer é export PATH.

export(equivalente a declare -x) no Bash simplesmente disponibiliza a variável para subshells.

Para imprimir o valor de uma variável com segurança e legibilidade, use printf %q "$PATH".


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 ​​do caminho foram definidas corretamente na variável PATH
ThaSaleni

11
Isso depende do shell, não do SO. Eu ficaria surpreso se exportalguma vez trabalhasse assim no Bash.
l0b0

Além disso, a variável PATH já está exportada e não precisa ser exportada novamente.
Kusalananda

19

O comando a seguir export $PATH=somePathretornará not a valid identifiere isso ocorre por causa da variável $before PATH.

solução:

export PATH=somePath


0

Você deve usá-lo desta maneira:

export PATH=$PATH:/something/bin

Ao invés de:

export $PATH=$PATH:/something/bin

basta remover o $sinal do lado esquerdo.


-1

Você provavelmente teve que anexar um $ PATH à sua variável PATH existente?

export PATH=$PATH:/something/bin

2
OK, isso está no mesmo estádio da questão, mas está no campo esquerdo.
G-Man diz 'Reinstate Monica'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.