Como redefinir o Bash no Mac OSX, o .bash_profile é corrompido e o bash não funciona mais

15

Estou em um MacBook Pro, executando a versão mais recente do Mountain Lion.

Eu realmente preciso de alguma ajuda, eu consegui alguns danos ao meu .bash_profile (eu acho) para que toda vez que eu abrir o terminal eu recebo o erro listado abaixo.

-bash: export: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: '/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found

Não tenho certeza do que aconteceu, não tenho sudo, cd ou qualquer comando normal. A única maneira que eu fui capaz de chegar a qualquer um dos diretórios principais é através do comando ir para pasta no finder e tentar encontrar o arquivo sem sucesso.

Para completar, acho que criei um arquivo que pode estar causando o problema, eu queria editar o .bash_profile, então digitei

sudo nano ./bash_profile

Isso abre um novo arquivo no nano que, em minha opinião, foi salvo. Depois disso, abri o verdadeiro .bash_profile para adicionar o caminho para node.js.

Se eu conseguir acessar o .bash_profile, acho que posso recuperá-lo, mas não consigo encontrá-lo, devo reinstalar o bash? Se sim, como eu faria isso em um mac, eu tentei usar

brew install bash

para o qual eu obtenho

-bash: brew: command not found
    
por Strangeone 02.11.2012 / 10:27

6 respostas

11

Basta colocar todos os meus comentários juntos para uma resposta:

A primeira coisa que você deve fazer é alterar o shell, dessa forma você pode definir um shell que não carregará os scripts init bash ( .bashrc , .bash_profile ) - como fazer isso para o aplicativo do terminal Mac OS X pode ser visto aqui: Suporte da Apple

Agora você deve poder abrir um terminal novamente e usar seu editor de linha de comando favorito para abrir o arquivo .bash_profile (por exemplo, nano ou vi ):

Neste arquivo, você precisa redefinir a variável PATH que é usada pelo terminal para encontrar os programas que pode executar.

Isso pode ser feito com as duas linhas a seguir:

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" # Make sure to use double quotes not single quotes And on a new line 
export PATH

Isto irá primeiro definir os diretórios que você quer ter no seu PATH e exportar este PATH para torná-lo disponível para todos os programas iniciados a partir deste shell (via exportação).

    
por 02.11.2012 / 13:03
17

mostra arquivos ocultos em diálogos de arquivos. Você pode tentar abrir o ~ / .bash_profile com o TextEdit e deixá-lo em branco temporariamente.

    
por 02.11.2012 / 12:06
4

Eu estava usando o mesmo problema e acabei de encontrar uma solução mais simples:

/usr/bin/nano .bash_profile

exclua toda a sua bagunça e salve o arquivo

    
por 31.12.2016 / 14:08
3

Eu sei que este é um tópico antigo, mas só queria deixar aqui a minha solução na esperança de que alguém mais tenha o mesmo problema.

Quando eu corri o terminal do MacOS, estava tudo bem com o meu próprio usuário, mas quando ele foi mudado para o sudo, não funcionou (comando não encontrado).

Acabei consertando com:

nano ~/.bashrc

Acabou de remover o caminho que estava causando o erro. Reiniciou o terminal e tudo está funcionando bem agora.

    
por 06.11.2013 / 02:06
0

Descobri recentemente que arquivos de estilo DOS causam problemas para os scripts .bash * no OS-X. Eu tenho que usar finais de arquivo do DOS para algum código compartilhado com usuários do Windows, portanto, se eu editar o .bash_profile enquanto estiver no repositório do git, recebo muitas mensagens de erro ao executar o script (no login). O utilitário dos2unix corrigiu isso.

    
por 27.06.2018 / 22:09
-1

Além da exibição mencionada anteriormente de arquivos ocultos e do uso de um editor de texto, há também uma maneira mais fácil de abrir um novo shell sem alterar o shell padrão. Você pode clicar com o botão Alt no aplicativo Terminal e escolher "Novo comando ...". Em seguida, digite "sh" na caixa de diálogo e execute isso. Isso abriria um shell não-bash e você poderia editar o arquivo lá. No futuro, seria uma boa idéia manter um shell aberto ou testar a execução do novo .bash_profile antes de sair.

    
por 23.09.2016 / 16:41