¿Cómo restauro el bashrc predeterminado?

9

He sobreescrito accidentalmente .bashrc. Hice lo siguiente

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

Bur accidentalmente escribí en >lugar de >>. Supongo que fue una mala idea.

Todavía puedo iniciar sesión usando este truco (presione Ctrl+Cantes de que el .bashrc se ejecute por completo). Pero, ¿cómo lo restablezco al valor predeterminado .bashrc?

Estoy ejecutando CentOS 6.5 x86_64. Si el archivo bashrc predeterminado está en algún lugar de la distribución , no puedo encontrarlo.

Nickolai Leschov
fuente

Respuestas:

13

Mueva el archivo dañado fuera del camino, luego reinstale el paquete que proporciona el archivo dañado.

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
Michael Hampton
fuente
¡Gracias! Agregue para eliminar el archivo dañado antes ( rm /etc/bashrc) y reinicie bash after ( source ~/.bash_profile)
Nickolai Leschov
9

¿Sobrescribió el .bashrcen su directorio de usuario? O el sistema .bashrcalmacenado en /etc/skel/? You can always copy the default.bashrc from/ etc / skel / `de esta manera:

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

EDITAR: en los comentarios a continuación, el póster original dice:

Hice eco export EDITOR = / usr / bin / nano> / etc / bashrc cuando debería haber escrito >> .

Bien, eso explica lo que salió mal. Pero, en general, cualquier persona que sugiera que los archivos del sistema Linux / Unix se ajusten mediante la >>concatenación debería ser avergonzado públicamente para siempre. El problema es exactamente con lo que te has encontrado. Todo lo que >>hace es agregar el contenido a la izquierda del >>elemento arriba a la derecha de >>. Parece resbaladizo y rápido, pero en mi humilde opinión, es mucho más seguro abrir el archivo en un editor y agregar lo que necesite agregar al final del archivo. Solo haz esto:

sudo nano /etc/bashrc

Agregue lo que necesite agregar a ese archivo, guárdelo y continúe.

JakeGould
fuente
1
Agregado: lo hice echo 'export EDITOR=/usr/bin/nano' > /etc/bashrccuando debería haber escrito >>. Ya reemplacé el archivo con el de /etc/skel/, pero sigo recibiendo "Conexión a 1.2.3.4 cerrada". Supongo que el archivo /etc/skel/es una plantilla para un "real" .bashrc, en lugar de una instancia de un archivo de configuración adecuado en sí mismo. ¿Quizás .bashrcse supone que contiene un bucle sin fin o algo así? Solo puedo iniciar sesión presionando Ctl+Centre emitir un sshcomando desde mi computadora y el momento en que me expulsa. Por cierto, en mi sistema no tiene /etc/bashrcperíodo
Nickolai Leschov 05 de
Ahhh, vale Un poco de consejos generales sobre >>he editado en mi respuesta.
JakeGould
0

3 líneas de comandos para restaurar bashrc! nos das una respuesta muy útil, especialmente para un principiante de Linux como yo, la aplico con éxito,

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

Gracias por todo

tchidat linda
fuente
0

Ejecutar (no necesitas ser root)

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

para descargar el rpmpaquete en el directorio actual. Luego extraiga el paquete y mueva el archivo al que pertenece. De esta manera no necesita reinstalar ningún paquete.

Arch Stanton
fuente