Por que PATH = '$ PATH: / Path / to / bin' sobrescreveu meu PATH?

0

Na linha de comando, acrescentei um diretório ao meu PATH sem exportá-lo:

$ PATH='$PATH:/home/user/anaconda3/bin'

Por alguma razão, isso substituiu a variável de ambiente PATH, mas não sei por que isso aconteceu. O PATH acima ainda é uma lista de diretórios separados por dois pontos, como deveria ser, então qual é o problema? Eu normalmente prefiro um novo diretório ao meu PATH, mas desta vez eu testei anexando-o, o que causou resultados inesperados.

Agora, sempre que eu tentar os comandos mais simples, como ls , recebo este erro ( que espero ) seguido por um prompt solicitando que eu instale o comando digitado:

bash: sed: command not found...

Além disso, como eu não exporte o PATH, os comandos subseqüentes não devem herdar o ambiente da variável PATH acima, então o que causou isso?

Eu sei que posso abrir uma nova janela de terminal para consertá-lo, mas estou interessado em saber por que isso aconteceu?

    
por MyWrathAcademia 11.07.2018 / 19:32

1 resposta

4

As aspas simples suprimem a expansão de parâmetros.

$ foo=42
$ echo '$foo' "$foo"
$foo 42
    
por 11.07.2018 / 19:34