Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Variável não retorna ao original

Prezados,

echo $PATH

#Resultado do comando:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/Eclipse Adoptium/jdk-17.0.7.7-hotspot/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/john_/AppData/Local/Microsoft/WindowsApps:/snap/bin

#Foi adicionado o diretório /home/john/scripts/ com o seguinte comando

PATH=$PATH:/home/john/scripts/

#Ao executar o echo $PATH o resultado sai conforme esperado

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/Eclipse Adoptium/jdk-17.0.7.7-hotspot/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/john_/AppData/Local/Microsoft/WindowsApps:/snap/bin:/home/john/scripts/

#Porém ao executar o conteúdo original da variável com o comando abaixo o mesmo retorna mensagem de** -bash: Files/Eclipse: No such file or directory**

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/Eclipse Adoptium/jdk-17.0.7.7-hotspot/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/john_/AppData/Local/Microsoft/WindowsApps:/snap/bin

O que será que está acontecendo de errado??

1 resposta
solução!

Olá, John!

Parece que o problema está relacionado ao fato de que o caminho do diretório que você está tentando acessar contém espaços. No Linux, o caractere de espaço tem um significado especial e, por isso, quando você tem um caminho de diretório com espaços, você precisa colocá-lo entre aspas para que seja interpretado corretamente.

No seu caso, o caminho "/mnt/c/Program Files/Eclipse Adoptium/jdk-17.0.7.7-hotspot/bin" está causando o problema. O shell está interpretando "Files/Eclipse" como um comando separado, por isso está retornando a mensagem de erro "-bash: Files/Eclipse: No such file or directory".

Para corrigir isso, você deve colocar o caminho do diretório entre aspas. Aqui está como ficaria:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/Eclipse Adoptium/jdk-17.0.7.7-hotspot/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/john_/AppData/Local/Microsoft/WindowsApps:/snap/bin"

Dessa forma, o shell vai entender que todo o conteúdo entre as aspas é um único valor para a variável PATH. Pode ser isso, faça o teste.

Espero ter ajudado e bons estudos!