35 votes

Par erreur, .bash_history a été sourcé

Dans un moment de génie, j'ai exécuté la commande source ~/.bash_history. Heureusement, la plupart des commandes utilisent vim pour éditer un fichier, mais il y a quelques commandes effrayantes dans mon historique - déplacer et supprimer des fichiers avec des chemins relatifs.

Heureusement, pour l'instant ça bloque dans une session vim, cependant si je la suspend ou la quitte, ça passera à la suivante. Le fichier d'historique fait 1000 lignes.

Comment puis-je annuler cette commande, sans redémarrer la machine?

25 votes

C'est de la folie! :)

7 votes

Folie? C'est sparta! -- attends, désolé.

3 votes

Je ne suis pas seul :)

29voto

Carl Norum Points 2263

Si c'est une machine locale, ouvrez un nouveau terminal et tuez le shell en question.

Si c'est une machine distante, ssh dedans et tuez le shell en question.

15voto

Computernerd Points 1301

Vous pouvez appuyer sur Ctrl+Z ou démarrer un sous-shell en utilisant :!bash, puis tuer le shell. Étapes spécifiques :

Ctrl+Z
kill -9 $$

:suspend (ou des abréviations acceptables) peut fonctionner de manière équivalente à Ctrl+Z.

6 votes

Mais si vous :!bash, alors $$ fera référence au sous-shell que vous venez de créer. Vous auriez besoin d'utiliser ps pour trouver le PID. ... P.S. Je suppose que c'est, dans une certaine mesure, une question de style, mais s'il n'y a pas besoin de faire des trucs fantaisistes bash, j'utiliserais juste :!sh. Aussi, pour ça, essayez :sh.

1 votes

Déclasser parce que, comme le commentaire le souligne, tel qu'il est écrit, cela pourrait donner à quelqu'un juste assez de fausse confiance pour quitter vim et endommager sa machine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X