Continue recebendo o mesmo resultado após “export PATH”

4

Estou fazendo isso:

$ which cabal
/usr/bin/cabal
$ export PATH=$PATH:$HOME/.cabal/bin
$ which cabal
/usr/bin/cabal

Espero obter /.cabal/bin/cabal para $ which cabal (esse caminho existe) depois disso. Mas eu nem mesmo depois de reabrir o terminal. Como vem?

    
por アレックス 14.07.2014 / 13:46

1 resposta

7

Os caminhos em $PATH são pesquisados em ordem. Isso permite que você substitua um padrão do sistema com:

export PATH=$HOME/bin:$PATH

$HOME/bin agora é o caminho primeiro (prioridade mais alta). Você fez o contrário, tornando o caminho último (prioridade mais baixa). Quando o shell procura, ele usa a primeira correspondência encontrada.

Caso não esteja claro, tudo isso funciona ao concatenar strings. Uma analogia:

WORD=bar
WORD=foo$WORD

$WORD agora é foobar . O : usado com $PATH é literal, o que você pode ver com echo $PATH .

    
por 14.07.2014 / 13:55