.Bash_history di provenienza accidentale


34

In un momento di brillantezza, ho eseguito il comando source ~/.bash_history. Fortunatamente, la maggior parte dei comandi utilizza vimper modificare alcuni file, ma ci sono alcuni comandi spaventosi nella mia storia: spostare e rimuovere file con percorsi relativi.

Fortunatamente in questo momento è bloccato in una vimsessione, tuttavia se lo sospendo o esco, passa a quello successivo. Il file della cronologia è lungo 1000 righe.

Come posso annullare questo comando, a meno di riavviare la macchina?


23
Questa è una follia! :)

7
follia ? Questa è Sparta! - aspetta, scusa.
Sirex,

2
Non sono solo :)
Alupotha,

Risposte:


28

Se è un computer locale, avvia un nuovo terminale e uccidi la shell in questione.

Se è una macchina remota, usa ssh e uccidi la shell in questione.


15

Puoi premere Ctrl+ Zo avviare una subshell usando :!bash, quindi uccidere la shell. Passaggi specifici:

Ctrl+Z
kill -9 $$

:suspend(o abbreviazioni accettabili) può funzionare in modo equivalente a Ctrl+ Z.


6
Ma se si :!bash, allora $$farà riferimento alla subshell appena creata. Dovresti usare psper scoprire il PID. ... PS Immagino che questa sia, in una certa misura, una questione di stile, ma se non c'è bisogno di fare cose fantasiose, userei semplicemente :!sh. Inoltre, prova :sh.
Scott,

1
Downvoting perché, come sottolinea il commento, come scritto questo potrebbe dare a qualcuno la fiducia in sé sufficiente per uscire da Vim e far passare la sua macchina.
Parthian Shot il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.