Como redefinir $ caminho? -- acos campo com terminal campo com bash campo com command-line camp apple Relacionado O problema

How to reset $PATH?


20
vote

problema

português

Eu estava tentando adicionar algo a $ caminho e foi totalmente errado. Agora não consigo executar nenhum comandos, como ls . Eu olhei para este resposta e usou as seguintes linhas:

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

Essas linhas corrigem o problema temoriamente; No entanto, quando eu reiniciar o terminal, parece esquecer essas alterações.

Como reset permanentemente meu caminho de $?

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

english

I was trying to add something to $PATH and it went totally wrong. I now can't run any commands such as ls. I've looked at this answer and used the following lines:

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

These lines fix the problem temorarily; however, when I restart terminal it seems to forget these changes.

How do I permanently reset my $PATH?

I'm running the most recent version of Mountain Lion.

           
       
       

Lista de respostas

21
 
vote

A resposta sugerida de remover .bash_profile não é uma boa ideia em geral. Há outras coisas que podem ser definidas nesse arquivo, além de PATH definições.

Se você quiser desfazer os efeitos de sua experimentação, basta remover ou comentar que PATH linha com um # .

Você não quer editar o PATH a partir do zero, mas anexe a ele, como você fez com sua segunda linha. O método preferido de adicionar algo ao seu caminho seria:

  export PATH=$PATH:$HOME/bin    

editar Como o seu ABCDEFGHIJKLMNABCDEFGHIJKLMN10 está 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 de terminal (não no seu rsync -vaEW source/ destination 1 ) digitando:

  rsync -vaEW source/ destination 2   

Isso dará temporariamente o acesso a rsync -vaEW source/ destination 3 e rsync -vaEW source/ destination 4 - as ferramentas básicas para verificar e editar o seu rsync -vaEW source/ destination 5 e corrigir seu problema. ..

Repetir, não coloque este rsync -vaEW source/ destination 6 Definição em qualquer lugar, exceto pela duração da sessão enquanto você faz suas correções.

 

The suggested answer of removing .bash_profile is not a good idea in general. There are other things that can be set in that file besides PATH definitions.

If you want to undo the effects of your experimentation, just remove or comment out that PATH line with a #.

You don't want to edit the PATH from scratch, but append to it, as you did with your second line. The preferred method of adding something to your path would be:

export PATH=$PATH:$HOME/bin 

EDIT Since your PATH is messed up, you don't have access to the usual commands to make these changes. As a temporary fix, you can define a new minimal path in a Terminal window (not in your .bash_profile) by typing:

PATH=/bin:/usr/bin 

This will temporarily give you access to nano ls mv vi cat and rm -- the basic tools to check and edit your .bash_profile and fix your problem...

Repeat, do not put this PATH definition anywhere except for the duration of the session while you make your fixes.

 
 
 
 
8
 
vote

Eu recomendo:

  source /etc/profile    

É isso que Mac usa para definir o caminho inicial, e colocará tudo no lugar, com exceção dos itens que você está adicionando para o usuário.

Eu faço uma quantidade decente de modificação de caminho em meu ~ / .bash_profile, e eu coloquei isso no topo do arquivo porque eu estava tendo problemas com o recarregamento do meu perfil enquanto eu estou trabalhando depois que eu ajustar um alias em lá ou algo assim, e estava adicionando referências duplicadas ao meu caminho. Em vez de verificar se já é adicionado, basta redefinir meu caminho para a versão de arranhões e re-anexar os itens que eu quero.

ATUALIZAÇÃO: Ao alternar para zsh , eu mudei meu .bash_profile para .zshrc e, em seguida, alterou meu alias do perfil de recarga para originar o /etc/zprofile , que redefine o caminho para arranhar como descrito anteriormente para bash. Aqui está o alias que defini para que eu possa recarregar rapidamente meu perfil:

  alias reloadprofile='source /etc/zprofile && source ~/.zshrc'    

Eu acredito que você pode realizar a mesma coisa chamando /etc/zprofile , que substitui a instância atual por um novo e recarrega o arquivo .zshrc , mas eu não experimentei o suficiente com isso para ser completamente certo.

 

I recommend:

source /etc/profile 

This is what Mac uses to set the initial path, and it will put everything back in place excepting the items that you are adding for your user.

I do a decent amount of path modification in my ~/.bash_profile, and I've placed this at the top of the file because I was having issues with reloading my profile while I'm working after I tweak an alias in there or something, and it was adding duplicate references to my path. Instead of checking to see if it's already added, I just reset my path to the scratch version and re-append the items I want.

UPDATE: When switching to zsh, I changed my .bash_profile to .zshrc and then changed my reload profile alias to source the /etc/zprofile, which resets the path to scratch as described earlier for bash. Here's the alias I have defined so that I can quickly reload my profile:

alias reloadprofile='source /etc/zprofile && source ~/.zshrc' 

I believe you can accomplish the same thing by calling exec zsh, which replaces the current instance with a new one and reloads the .zshrc file, but I haven't experimented enough with it to be completely sure.

 
 
4
 
vote

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

  /bin/rm ~/.bash_profile    

A alteração ocorrerá com a próxima sessão de concha ou terminal.

 

Remove the your bash profile to restore the default $PATH. Enter the following command into Terminal.app:

/bin/rm ~/.bash_profile 

The change will take place with the next shell or terminal session.

 
 
       
       
1
 
vote

Abcdefghijklmnabcdefghijklmn10 é gerado a partir do conteúdo do arquivo abcdefghgjklmnabcdefghijklmn11 , é bastante direto para modificar.

 

OSX's default $PATH is generated from the contents of the /etc/paths file, it's fairly straight-forward to modify.

 
 
     
     
0
 
vote

Estes métodos são ótimos! Se você tiver esse problema com ZSH, remova zsh2 Isso vai se livrar de suas configurações ZSH.

 

These methods are great! If you have this problem with zsh, remove ~/.zshrc This will get rid of your zsh settings though.

 
 
 
 

Perguntas relacionadas

1  Sintaxe de comando do terminal enrolado do AppleScript  ( Curl terminal command syntax from applescript ) 
Eu quero executar um comando curl no AppleScript que faz o seguinte ( por esta pergunta / resposta ): https://superuser.com/a/1054803/471181. . ... faze...

18  Como atualizar o aplicativo App Store a partir da linha de comando?  ( How to update app store application from command line ) 
Eu gostaria de forçar uma atualização de aplicativos de aplicativos da linha de comando. Como posso fazer isso? ...

4  Obtenha o tempo de CPU do usuário e do sistema de processo no OSX via linha de comando?  ( Get per process user and system cpu time on osx via command line ) 
Estou familiarizado com ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Comando que fornece Usuário e System CPU separados por processo no Linux: $ sudo pidstat -p 3162 Li...

26  Como posso inspecionar as variáveis ​​de ambiente de um processo de execução?  ( How can i inspect the environment variables of a running process ) 
Existe algum equivalente (CLI ou GUI) para o recurso ABCDefGHIJKLMNABCDefGHIJKLMN0 ...

4  Fazer Localizador.Updatedb Run Diariamente no Snow Leopard sem Hacking / System / Library?  ( Make locator updatedb run daily on snow leopard w o hacking system library ) 
No banco de dados ABCDEFGHIJKLMNABCDEFGHIJKLMBCDefGHIJKLMN1 é atualizado uma vez por semana por um trabalho de lançamento, /System/Library/LaunchDaemons/co...

1  Como executar o script do shell no lançamento do aplicativo?  ( How to run shell script upon application launch ) 
Não tenho certeza se isso pertence aqui ou no superusuário, mas é o Mac específico, então eu vou com aqui. Eu escrevi um script Ruby que edita o arquivo de ...

0  Como esse script AWK funciona?  ( How does this awk script work ) 
Eu tenho 2 arquivos de dados contendo uma coluna. Eu quero fazer outro arquivo de dados mesclando as duas colunas. Eu tenho a linha de comando na concha, mas ...

1  Como corrigir localize.updatedb não respeitando o diretório excluído de /etc/locate.rc?  ( How to fix locate updatedb not respecting directory excluded from etc locate rc ) 
Eu queria excluir alguns diretórios a partir dos resultados de ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Ao editar ABCDEFGHIJKLMNABCDEFGHIJKLMN1 . Infelizmente se eu e...

6  Os comandos de linha de comando podem ser insensíveis à ordem de nomes e opções de arquivos?  ( Can command line commands be made insensitive to order of filenames and options ) 
Eu sou novo para o uso do MAC. Parece que a maioria dos comandos tropega as opções dadas após os nomes dos arquivos. No Linux, que eu usei há anos, não import...

1  Problema com sintaxe de exclusão de conta script  ( Problem with scripted account deletion syntax ) 
Estou trabalhando em um módulo de script de limpeza de contas que pode lidar com as contas ocultos e unilindas que estamos criando em massa em novos sistemas ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.