Como restaurar permanentemente o meu $ PATH?

0

Eu estava tentando adicionar algo ao $ PATH e foi totalmente errado. Agora não posso executar nenhum comando como ls . Eu olhei para esta resposta ( link ) e usei as seguintes linhas:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

PATH=$PATH:~/bin

Estas linhas corrigem o problema de forma linear; no entanto, quando eu reiniciar o terminal, parece esquecer essas mudanças.

Como faço para redefinir permanentemente meu $ PATH?

Estou executando a versão mais recente do Mountain Lion.

Obrigado

    
por Nosrettap 18.01.2013 / 22:54

2 respostas

2

Você obviamente tem uma linha malformatada em algum lugar em um de seus arquivos de configuração do shell que são lidos quando o Terminal inicia o Bash. Isso é .profile ou .bash_profile , dependendo do que você usou. No OS X, .bashrc não é lido, a menos que você tenha fornecido explicitamente um desses outros arquivos.

Para poder usar os comandos sem definir $PATH , basta chamá-los por sua localização completa.

Se você sabe que não há mais nada nos arquivos necessários, exclua-os:

/bin/rm ~/.bash_profile
/bin/rm ~/.profile

Se não, abra-os no TextEdit, por exemplo, e remova as linhas ofensivas com PATH= :

/usr/bin/open -a TextEdit ~/.bash_profile
/usr/bin/open -a TextEdit ~/.profile

Se você quiser usar um editor de linha de comando, também pode fazer isso:

/usr/bin/vim ~/.bash_profile
/usr/bin/nano ~/.bash_profile
# et cetera
    
por 18.01.2013 / 23:00
0

Isso também foi solicitado em apple stackexchange e a resposta aceita aqui é perigoso.

Em vez de apenas remover o .bash_profile melhor para fazer como os comentadores sugerem e corrigir a definição do PATH. O problema é que você definiu a partir do "zero" primeiro, sobrescrevendo todas as definições anteriores (incluindo onde encontrar ls e outras).

Você define o caminho em .bash_profile definindo uma nova variável igual à antiga (leia com $ PATH) mais o que você deseja adicionar:

export PATH=$PATH:$HOME/myspecialfolder:$HOME/bin

Observe que você não pode ter espaços em nenhum dos lados do sinal de igual. Também estou deixando de fora {} , o que você pode precisar se houver espaços nos nomes das pastas.

    
por 28.08.2013 / 23:54