7
votes

L'annulation des modifications apportées à BASHRC du terminal

malheureusement je viens de surveiller mon .bstrucc avec

echo "commande"> ~ / .bashrc

par opposition à ajouter via

echo "commande" >> ~ / .bashrc .

Pas un énorme retour que je suis plus récent de travailler dans le terminal. Cependant, je me demande s'il est possible de récupérer mon .bstructrc avant de redémarrer ma session de terminal!

Y a-t-il un emplacement où les commandes d'une session sont stockées? Si oui, comment puis-je extraire mes scripts personnalisés?

Attendez-vous au pire des nouvelles, dans l'espoir de la meilleure des nouvelles! Je suis en train d'exécuter une boîte Ubuntu 13.04 et la session est en borne Guake - si cela change de choses du tout.


3 commentaires

Git Revert .bstructrc ne va probablement pas aider maintenant, mais j'espère que cela vous apprendra pour que cela fonctionne la prochaine fois que cela se produit.


a définitivement appris ma leçon ici! Merci pour l'entrée!


:( ça. Est arrivé avec moi


5 Réponses :


2
votes

en supposant que vous avez construit votre .bstrucc avec une bande de commandes similaires echo et que vous voulez simplement les récupérer:

Y a-t-il un emplacement où les commandes d'une session sont stockées?

Si vous exécutez historique , vous devriez pouvoir récupérer les commandes précédentes. Pour plus d'informations, voir Historique de l'homme .

Dans votre cas, vous pourriez trouver la sortie de Historique | grep bashrc utile.


4 commentaires

Je pense qu'il cherche à restaurer le contenu de .bstrucc , pas trouver une liste de commandes qu'il est exécutée à partir du terminal.


@cheppner sonne comme il vient de construire son .bstrucc en ajoutant des trucs à celui-ci avec echo , cependant.


-1 historique ne contient pas les commandes utilisées dans votre .bstrucc .


@tripleee je n'ai pas dit que ça l'a fait.



4
votes

Vous ne pouvez pas récupérer complètement. Mais vous pouvez récupérer partiellement en utilisant définir .

Si vous exécutez SET sur le même terminal, vous pourrez obtenir une liste complète de scripts personnalisés et d'autres variables d'environnement. Et dans ce cas, il est allant de différencier ceux qui faisaient partie de .CASHRC et d'autres personnes saisies sur ce terminal. Mais vous ne pourrez pas récupérer les commandes qui étaient exécutées dans le cadre de Bash Login.


1 commentaires

Ça y est ...! Merci beaucoup. C'est beaucoup à analyser, mais c'est exactement ce que je cherchais.



4
votes

Pour l'avenir, vous pouvez envisager d'utiliser un système de contrôle de version telle que git ou hg afin de sauvegarder les versions précédentes de fichiers tels que ~ / .bstructrc . Ensuite, si vous arrivez à faire un > plutôt que >> à l'avenir, vous devriez pouvoir récupérer le fichier sur le point la dernière fois que vous l'avez commité à la version. Contrôle.

Un exemple de comment définir ce problème pour git serait: xxx


1 commentaires

Extrêmement utile! Je vais certainement faire cela à partir de maintenant



2
votes

ne peut pas être récupéré.

Je vous suggère de taper env dans votre terminal pour afficher les variables d'environnement les plus importantes (comme ld_library_path, chemin, pythonpath, class_path, java_home, etc.) et ainsi de suite. un nouveau fichier .bstrucc.

Vous pouvez commencer à partir d'une copie de /etc/skel/.bashrc comme fichier minimal.


0 commentaires

0
votes

Partage du lien vers une réponse dans un autre poste qui m'a aidé. https://stackoverflow.com/a/40214165/13151296 Si vous n'avez ajouté que quelques touches à votre BASHRC, vous pouvez l'utiliser pour obtenir un nouveau BISHRC par défaut, puis ajouter ce dont vous avez besoin en utilisant des méthodes dans les réponses précédentes de ce fil.

Tapez les éléments suivants dans votre terminal,

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

Il remplacera votre ~ / .bstructrc corrompu avec un frais. Après cela, vous devez rechercher le ~ / .bashrc afin que Le changement a lieu immédiatement, écrivez dans le terminal,

Source ~ / .BASHRC

ou si cela ne fonctionne pas, vous pouvez fermer le terminal et ouvrez à nouveau.


0 commentaires