Como redefinir o $ PATH?

13

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

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

Essas linhas corrigem o problema temporariamente; no entanto, quando eu reinicio o terminal, parece esquecer essas alterações.

Como redefinir permanentemente meu $ PATH?

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

Nosrettap
fonte
5
Corrigido:/bin/rm ~/.bash_profile
Nosrettap 18/01/13
2
Boa pergunta. Você sempre pode colocar sua correção em uma resposta.
bassplayer7
Também perguntou no superusuário
glenn jackman
1
Percebendo que você já fixa o seu problema, os usuários com um problema semelhante também pode encontrar ajuda em/etc/paths
David Smith

Respostas:

15

A resposta sugerida para remover .bash_profilenão é uma boa ideia em geral. Há outras coisas que podem ser definidas nesse arquivo além das PATHdefinições.

Se você quiser desfazer os efeitos da sua experimentação, basta remover ou comentar essa PATHlinha com a #.

Você não deseja editar a PATHpartir do zero, mas anexá-lo, como fez com a segunda linha. O método preferido de adicionar algo ao seu caminho seria:

export PATH=$PATH:$HOME/bin

EDITAR Como você PATHestá confuso, você não tem acesso aos comandos usuais para fazer essas alterações. Como uma correção temporária, você pode definir um novo caminho mínimo em uma janela do Terminal (não na sua .bash_profile) digitando:

PATH=/bin:/usr/bin

Isso lhe dará temporariamente acesso nano ls mv vi cate rm- as ferramentas básicas para verificar e editar .bash_profilee corrigir seu problema ...

Repita, não coloque essa PATHdefinição em nenhum lugar, exceto pela duração da sessão enquanto você faz suas correções.

beroe
fonte
5

Eu recomendo:

source /etc/profile

É isso que o Mac usa para definir o caminho inicial e recupera tudo, exceto os itens que você está adicionando ao usuário.

Eu faço uma quantidade razoável de modificação de caminho no meu ~ / .bash_profile e coloquei isso no topo do arquivo porque estava tendo problemas para recarregar meu perfil enquanto trabalhava depois de ajustar um alias nele ou algo assim , e estava adicionando referências duplicadas ao meu caminho. Em vez de verificar se ele já foi adicionado, basta redefinir meu caminho para a versão inicial e anexar novamente os itens desejados.

rjferguson
fonte
3

Remova o seu perfil do bash para restaurar o padrão $PATH. Digite o seguinte comando no Terminal.app :

/bin/rm ~/.bash_profile

A alteração ocorrerá na próxima sessão do shell ou terminal.

Graham Miln
fonte
Resposta, com base nos comentários do questionador original, para remover a pergunta da fila sem resposta.
Graham Miln
4
Bem, se você deseja manter outro conteúdo do seu perfil, um simples /bin/mv ~/.bash_profile ~/bash_profilepode ser melhor
nohillside
1
Esta é a resposta mais simples que encontrei em todos os sites da SE. Obrigado!
MR5
0

O padrão do OSX $PATHé gerado a partir do conteúdo do /etc/pathsarquivo, é bastante simples de modificar.

Chris Keele
fonte
1
A modificação /etc/pathscorre o risco de que as alterações sejam substituídas pela próxima atualização do OS X, também não funciona para caminhos específicos do usuário ~/bin.
nohillside
Isso é verdade, embora eu costumo lidar com aqueles no meu .rc mais tarde. Eu também não tive minha /etc/pathsredefinição ainda por uma atualização (há vários anos desde que comecei a usar brew).
precisa
Atualmente, estou hackeando um provisionamento boxen que, espero, me tornará impermeável a futuras atualizações de substituição.
precisa
0

Esses métodos são ótimos! Se você tiver esse problema com o zsh, remova ~/.zshrcIsso, porém, se livrará das configurações do zsh.

RedG3ar
fonte
Você prefere querer manter uma cópia/bin/mv ~/.bash_profile{,.bck}
MauroPorras