Restauration de ~ / .bashrc sans utiliser les commandes bash
Je pense que j'ai eu une faute de frappe lorsque j'ajoute un chemin ~/.bashrcet après l'avoir généré, je ne peux plus utiliser les commandes bash.
Maintenant, je veux restaurer un normal ~/.bashrc, mais la plupart des discussions que j'ai trouvées (par exemple, comment réparer un .bashrc qui a été mal édité? ) Doivent utiliser des commandes bash, par exemplecp
clam@cuerei:~# cp /etc/skel/.bashrc ~
cp: /home/cltam/script/lib/libc.so.6: version `GLIBC_2.17' not found (required by cp)
Puis-je savoir comment puis-je restaurer ~/.bashrcsans utiliser les commandes bash?
Je vous remercie.
Réponses
cpn'est pas une commande bash - c'est un programme externe. C'est pourquoi il échoue; Les commandes de bash réelles ne seraient pas affectées par les changements de bibliothèque ou de chemin. Vous voulez donc le contraire, c'est-à-dire n'utiliser que des commandes bash.
Vous pouvez supprimer complètement le contenu du fichier en utilisant:
true > ~/.bashrc
Ou écraser avec d'autres contenus:
echo "" > ~/.bashrc
Ou vous pouvez essayer d'annuler temporairement les mauvaises modifications dans le live shell:
unset LD_LIBRARY_PATH LD_PRELOAD LD_AUDIT
export PATH=/bin:/usr/bin
cp /etc/skel/.bashrc ~
Ou vous pouvez copier le contenu du fichier, ligne par ligne, en utilisant uniquement les fonctions intégrées du shell:
while IFS="" read -r line; do
echo "$line";
done < /etc/skel/.bashrc > ~/.bashrc
Êtes-vous actuellement connecté au système? Si tel est le cas, vous pouvez passer à un autre shell, puis éditer le fichier
> chsh
> vi ~/.bashrc
Vous avez rompu le chemin de votre bibliothèque qui est utilisé pour les programmes liés dynamiquement. Ceux-ci ne contiennent pas tout le code nécessaire pour exécuter le programme, mais en chargent à partir de bibliothèques partagées au démarrage.
Certains programmes sont compilés pour éviter ce problème (par exemple pour les programmes exécutés en tant que root ou nécessaires très tôt dans le processus de démarrage). Ils sont traditionnellement placés dans /sbinet /usr/sbin. Ce qu'il y a exactement dépend de ce qui est installé.
Sur mon Mac, il ne semble pas qu'un éditeur soit disponible, mais votre système pourrait l'être.
J'ai suivi la suggestion de @Peter Cordes d'annuler ma modification en: unset LD_LIBRARY_PATH.
Merci beaucoup!