Comment restaurer le bashrc par défaut?

9

J'ai accidentellement écrasé .bashrc. J'ai fait ce qui suit

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

Bur j'ai accidentellement tapé >au lieu de >>. Je suppose que c'était une mauvaise idée.

Je peux toujours me connecter en utilisant cette astuce (appuyez Ctrl+Cavant que le .bashrc ne soit complètement exécuté). Mais comment puis-je le restaurer à sa valeur par défaut .bashrc?

J'utilise CentOS 6.5 x86_64. Si le fichier bashrc par défaut se trouve quelque part dans la distribution , je ne le trouve pas.

Nickolai Leschov
la source

Réponses:

13

Déplacez le fichier endommagé à l'écart, puis réinstallez le package qui fournit le fichier endommagé.

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
Michael Hampton
la source
Merci! Veuillez ajouter pour supprimer le fichier endommagé avant ( rm /etc/bashrc) et redémarrer bash après ( source ~/.bash_profile)
Nickolai Leschov
9

Avez-vous remplacé le .bashrcdans votre répertoire utilisateur? Ou l'ensemble du système .bashrcstocké dans /etc/skel/? You can always copy the default.bashrc from/ etc / skel / `comme ceci:

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

EDIT: Dans les commentaires ci-dessous, l'affiche originale indique:

J'ai fait écho export EDITOR = / usr / bin / nano> / etc / bashrc quand j'aurais dû écrire >> .

D'accord, cela explique ce qui a mal tourné. Mais en général, toute personne qui suggère d'ajuster les fichiers système Linux / Unix à l'aide de la >>concaténation doit être publiquement honteuse pour toujours. Le problème est exactement ce que vous avez rencontré. Il >>suffit d’ajouter le contenu à gauche de >>l’élément en haut à droite de >>. Cela semble simple et rapide, mais à mon humble avis, vous êtes beaucoup plus sûr d'ouvrir le fichier dans un éditeur et d'ajouter tout ce que vous devez ajouter à la fin du fichier. Faites ceci:

sudo nano /etc/bashrc

Ajoutez tout ce dont vous avez besoin pour ajouter à ce fichier, enregistrez-le et continuez.

JakeGould
la source
1
Ajouté: je l'ai fait echo 'export EDITOR=/usr/bin/nano' > /etc/bashrcquand j'aurais dû écrire >>. J'ai déjà remplacé le fichier par celui de /etc/skel/, mais j'obtiens toujours "Connexion à 1.2.3.4 fermée". Je suppose que le fichier /etc/skel/est un modèle pour un "vrai" .bashrc, plutôt qu'une instance d'un fichier de configuration approprié en soi. Peut-être que le .bashrcest censé contenir une boucle sans fin ou quelque chose? Je ne peux me connecter qu'en appuyant sur Ctl+Centre l'émission d'une sshcommande à partir de mon ordinateur et le moment où elle me met à la porte. Soit dit en passant, sur mon système, il /etc/bashrcn'y a pas de règles
Nickolai Leschov
Ahhh, d'accord. Un peu de conseils généraux sur >>j'ai édité dans ma réponse.
JakeGould
0

3 lignes de commandes pour restaurer bashrc! vous nous donnez une réponse très utile, surtout pour un débutant linux comme moi, je l'applique avec succès,

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

Merci pour tout

tchidat linda
la source
0

Exécutez (vous n'avez pas besoin d'être root)

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

pour télécharger le rpmpackage dans le répertoire courant. Ensuite, extrayez le package et déplacez le fichier à sa place. De cette façon, vous n'avez pas besoin de réinstaller de package.

Arch Stanton
la source