web-dev-qa-db-fra.com

Restauration ~ / .CASHRC sans utiliser les commandes Bash

Je pense avoir une faute de frappe quand j'ajoute un chemin à ~/.bashrc Et après que je l'aide, je ne peux plus utiliser les commandes Bash.

Maintenant, je veux restaurer un ~/.bashrc, Toutefois, la plupart des discussions que j'ai trouvées (par exemple Comment corriger un .bstrucc qui a été modifiée à tort? ) doit utiliser des commandes Bash par ex. cp

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 ~/.bashrc Sans utiliser des commandes Bash?

Merci.

8
Johnny Tam

cp n'est pas une commande bash - c'est un programme externe. C'est pourquoi il échoue; Les commandes Bash réelles ne seraient pas affectées par des changements de bibliothèque ou de chemin. Donc, vous voulez le contraire, c'est-à-dire à utiliser seulement commandes bash.

Vous pouvez supprimer complètement le contenu du fichier en utilisant:

true > ~/.bashrc

Ou écraser avec quelques autres contenus:

echo "" > ~/.bashrc

Ou vous pouvez essayer d'annuler temporairement les mauvais changements dans la coquille en direct:

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, la ligne par ligne, à l'aide de Just Shell intégré:

while IFS="" read -r line; do
    echo "$line";
done < /etc/skel/.bashrc > ~/.bashrc
25
user1686

Vous avez enfreint votre chemin de bibliothèque qui est utilisé pour des programmes liés dynamiquement. Ceux ne contiennent pas tout le code nécessaire pour exécuter le programme, mais chargez-les des bibliothèques partagées au moment du démarrage.

Certains programmes sont compilés pour éviter ce problème (par exemple pour les programmes fonctionnant en tant que root ou nécessaire très tôt dans le processus de démarrage). Ils sont traditionnellement placés dans /sbin et /usr/sbin. Ce qui est exactement dépend de ce qui est installé.

Sur mon Mac, il n'apparaît pas qu'il existe un éditeur disponible, mais votre système pourrait avoir.

1

Êtes-vous actuellement connecté au système? Si tel est le cas, vous pouvez passer à une autre shell, puis modifier le fichier.

> chsh
> vi ~/.bashrc
1
NuclearFission