Como restauro o bashrc padrão?

9

Substituí acidentalmente .bashrc. Eu fiz o seguinte

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Bur eu digitei acidentalmente em >vez de >>. Eu acho que foi uma má ideia.

Ainda consigo fazer login usando esse truque (clique Ctrl+Cantes que o .bashrc seja totalmente executado). Mas como faço para restaurá-lo para o padrão .bashrc?

Estou executando o CentOS 6.5 x86_64. Se o arquivo bashrc padrão estiver na distribuição em algum lugar, não consigo encontrá-lo.

Nickolai Leschov
fonte

Respostas:

13

Mova o arquivo danificado para fora do caminho e reinstale o pacote que fornece o arquivo danificado.

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
Michael Hampton
fonte
Obrigado! Por favor, adicione para remover o arquivo danificado antes ( rm /etc/bashrc) e reiniciar o bash depois ( source ~/.bash_profile)
Nickolai Leschov
9

Você substituiu o arquivo .bashrcno diretório de usuário? Ou o sistema todo .bashrcarmazenado em /etc/skel/? You can always copy the default.bashrc from/ etc / skel / `assim:

cp /etc/skel/.bashrc ~/.bashrc

EDIT: Nos comentários abaixo, o cartaz original declara:

Eu fiz echo export EDITOR = / usr / bin / nano> / etc / bashrc quando eu deveria ter escrito >> .

Ok, isso explica o que deu errado. Mas, em geral, qualquer pessoa que sugira que os arquivos de sistema Linux / Unix sejam ajustados usando >>concatenação deve ser publicamente envergonhada para sempre. O problema é exatamente o que você encontrou. Tudo o que >>faz é anexar o conteúdo à esquerda do >>item superior direito >>. Parece fácil e rápido, mas, na minha humilde opinião, você é muito mais seguro, basta abrir o arquivo em um editor e adicionar o que você precisa adicionar ao final do arquivo. Apenas faça o seguinte:

sudo nano /etc/bashrc

Adicione o que você precisa adicionar a esse arquivo, salve-o e siga em frente.

JakeGould
fonte
1
Adicionado: fiz echo 'export EDITOR=/usr/bin/nano' > /etc/bashrcquando deveria ter escrito >>. Eu já substituí o arquivo pelo arquivo de /etc/skel/, mas continuo recebendo "Conexão com a 1.2.3.4 fechada". Eu acho que o arquivo /etc/skel/é um modelo para um "real" .bashrc, em vez de uma instância de um arquivo de configuração adequado. Talvez .bashrcdeva conter um loop infinito ou algo assim? Só consigo efetuar login pressionando Ctl+Centre emitir um sshcomando do meu computador e a hora em que ele me inicia. By the way, no meu sistema é /etc/bashrcsem um período
Nickolai Leschov
Ahhh, tudo bem. Um conselho geral sobre >>eu editei a minha resposta.
precisa saber é o seguinte
0

3 linhas de comandos para restaurar o bashrc! você nos dá uma resposta muito útil, especialmente para um iniciante em Linux como eu, eu a aplico com sucesso,

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
source ~/.bash_profile

obrigado por tudo

tchidat linda
fonte
0

Executar (você não precisa ser root)

dnf download $(rpm -qf /etc/bashrc)

para baixar o rpmpacote no diretório atual. Em seguida, extraia o pacote e mova o arquivo para onde ele pertence. Dessa forma, você não precisa reinstalar nenhum pacote.

Arch Stanton
fonte