Eu quebrei meu PATH editando meu ~ / .bash_profile e o Bash não reconhecerá a maioria dos comandos

15

em .bash_profile, acidentalmente defino o caminho para:

PATH="~/Tools/apache-maven-3.3.3/bin"

e agora o caminho padrão se foi. Nada no Terminal funciona mais:

Korays-MacBook-Pro:~ koraytugay$ ls
-bash: ls: command not found
Korays-MacBook-Pro:~ koraytugay$ mkdir test
-bash: mkdir: command not found

Não consigo ver arquivos ocultos no Finder, portanto não posso modificar .bash_profile também.

Como posso resolver esta situação?

Koray Tugay
fonte
1
Isso pode não funcionar em um sistema BSD-ish: tente restaurar um caminho padrão com PATH=$(getconf PATH), caso contrário, fazerPATH=/bin:/usr/bin
glenn jackman
1
A sugestão "getconf PATH" realmente funciona bem, pelo menos em 10.10.
Calum_b 22/06/2015
3
Desde o caminho é mutilado, em seguida, a sugestão de Glenn irá trabalhar comPATH=$(/usr/bin/getconf PATH)
fd0

Respostas:

25

A maneira mais simples é restaurar a partir de um backup, por exemplo, do Time Machine.
No entanto, se o último backup for suficiente, haverá outras alterações que você deseja manter e poderá editar .bash_profile

No terminal

Em um terminal, você pode usar o caminho completo para os editores (/ usr / bin / emacs / usr / bin / vi ou / usr / bin / nano) para editar ~ / .bash_profile

por exemplo

/usr/bin/nano ~/.bash_profile

Ou você pode abri-lo com o editor de texto padrão (por padrão TextEdit) via:

/usr/bin/open ~/.bash_profile

Na GUI - do Dock ou do Finder

Mas você também pode fazer isso no TextEdit (ou em outros editores da GUI) em Arquivo-> Abrir e acessar o diretório inicial. Dependendo se você configurou o Finder para mostrar todos os arquivos ou não os ocultos (o padrão), você verá .bash_profile na lista ou poderá pressionar ⌘ CMD+ ⇧ SHIFT+, .que revela arquivos ocultos nas caixas de diálogo Abrir / Salvar. (o atalho é desta resposta )

user151019
fonte
5
Os usuários que não conseguem resolver o problema descrito provavelmente são melhores em nanovez de emacs/ vipara editar ~/.bash_profile.
nohillside
12

Trazer de volta um caminho mínimo

Digite o seguinte comando para redefinir um PATH mínimo:

PATH=/bin:/usr/bin

Consertar ~/.bash_profile

Edite o seu ~/.bash_profilecom o seu editor de texto preferido vi, emacs ou TextEdit. Sempre prefira uma construção PATH relativa:

PATH=${PATH}:...my_personal_added_pathes...
export PATH

Teste-o

Antes de prosseguir como muitos iniciantes, reiniciando sua sessão, para descobrir que eles não podem mais iniciar um shell. Teste o seu ~/.bash_profile: abra outra Terminaljanela e verifique se está funcionando bem:

. ~/.bash_profile
ls
uptime
date
...
dan
fonte
1
Não há necessidade do exportseu mínimo PATH. Qualquer processo iniciado pelo shell atual herdará o mínimo PATH. No entanto, eu usaria export PATHem um arquivo de configuração do shell.
fd0
1
Direita! Estou tão acostumado a digitá-lo dessa maneira em ambientes onde existem scripts de shell em teste.
dan
2

me deparei com este erro que me leva uma tarde inteira para superar. Os comandos ls, git, mkdir etc. bash se tornaram inválidos e relataram um erro: "- bash: xx: não é possível encontrar arquivos ou diretório" porque modifiquei o .bash_profile na instalação do zsh. digite o seguinte comando para restaurar seu ~ / .bash_profile

  1. no terminal do mac, digite:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. você pode usar seus comandos bash temporariamente, digite:

    vim ~/.bash_profile
  3. restaurar parâmetros PATH modificando

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. salve o vim e saia e digite:

    source ~/.bash_profile

OK, meu computador funciona novamente!

Yongsheng Yu
fonte
Vale a pena acrescentar que é preciso ter cuidado na etapa 3, não destrua outro conteúdo no arquivo.
nohillside
o .bash_profile foi destruída por minhas ordens incorretas, não há mais nada a não ser vazio "export PATH =", por isso esta é a única maneira que eu tive que re-back meu mac
Yongsheng Yu
-2
  1. Abra seu bash_profile executando / usr / bin / vim ~ / .bash_profile. (vim ~ / .bash_profile não funcionará mais porque o caminho não está correto).
  2. Livre-se do caminho que você acabou de adicionar que estragou tudo.
  3. Saia e reinicie o terminal para que a origem ~ / .bash_profile seja executada automaticamente. (Mais uma vez, não funcionará como está, porque o caminho não está correto).
Josh
fonte
-5

Abra seu .bash_profile, vá para a linha com seu comando error e coloque um # antes dele como primeiro caractere da linha. Reinicie (para ter certeza).

LexS
fonte
Como ele abre seu .bash_profile?
user151019