Reconstruindo .bashrc da sessão em execução

6

Eu acidentalmente excluí minha .bashrc. Eu ainda tenho o terminal funcionando. Quais configurações posso recuperar?

Eu já tenho os aliases (do comando alias ). Eu suponho que todos os ifs e casos se foram, mas eu quero recuperar as variáveis. Como eu posso fazer isso? (além de ter que digitá-los). Além disso, o que mais posso recuperar?

    
por Ada 26.04.2011 / 15:03

3 respostas

3

Se você tivesse um arquivo .bashrc padrão sem seus próprios ajustes, poderá recuperar o original do diretório skel:

cp /etc/skel/.bashrc ~/

O diretório skel tem (ou deveria ter) as configurações padrão para novos usuários. Quando um usuário é criado, o conteúdo do diretório skel é copiado para a nova home do usuário

Adicionada uma descrição de como verificar o que poderia ter sido no arquivo bashrc do usuário que não está em um arquivo bashrc padrão :

Caso você tenha um arquivo .bashrc ajustado e desde que env faça o despejo de todas as configurações da sessão (muitas coisas) que podem proceder de vários arquivos (/ etc / bashrc, / etc / profile, .profile, .. ..). você precisa obter o que foi gerado a partir de seu próprio bashrc que é diferente do bashrc padrão e descartar tudo o que é gerado a partir de outros arquivos bash originados:

Com base na resposta 'env' postada por silviud e enquanto você ainda tiver o terminal antigo aberto, você pode salvar a saída env em um arquivo. Então abra um novo shell e compare o antigo env com o novo env, mostrando o que foi gerado a partir do seu .bashrc.

Por exemplo, no seu terminal antigo, despeje o env em um arquivo:

env > oldenv

Em um novo shell, obtenha o que mudou agora que .bashrc é o padrão:

comm -3 <(env) oldenv

Edite o .bashrc obtido a partir do diretório skel para adicionar as diferenças que você obteve do comando acima.

HTH

    
por 26.04.2011 / 15:21
2
shell$ env
# will tell you all the settings you have into that terminal 
# the alias is handy as well for all the aliases you have
    
por 26.04.2011 / 15:11
2

Isso aconteceu comigo, realmente assustador! Eu corri "env" para obter todas as variáveis do ambiente e também o comando "alias" irá imprimir todos os seus aliases, que não estão no seu ambiente.

Então corra:

env

e

alias

e copie-os no arquivo esqueleto bashrc.

Agora coloque rapidamente o seu .bashrc no git:

cd ~
git init
git add .bashrc
git commit -m "added .bashrc"
    
por 23.03.2012 / 07:24