Rieseguire più comandi cronologici


22

Immagina di aver appena eseguito una dozzina di comandi. Dire...

$ cd foo/    # history cmd #10000 (my history is very long)
$ ... more commands ...
$ cd ../     # history cmd #10012 

So che posso rieseguirli nuovamente concatenati !-12 && !-11 && !-10 && (and so on) && !!se sono stati appena eseguiti (improbabili) o !10000 && !10001 && !10002 && (and so on), ma c'è un modo più semplice di digitare a mano ogni numero di cronologia con il botto e la e commerciale?

C'è forse una specie di cosa di cui non sono a conoscenza in Bash?

es. !{10000-10012}# qualcosa del genere, funziona solo.

Risposte:


23

Questo è lo scopo del fccomando.

fc -12 -1

o

fc 10000 10012

Questo non è esattamente quello che vuoi in quanto lancerà prima un editor, ma è probabilmente una buona cosa poiché ti dà la possibilità di ricontrollare che hai i comandi corretti e persino di modificarli usando tutte le funzionalità del tuo editor preferito. Una volta salvate le modifiche e chiuso l'editor, i comandi verranno eseguiti.


Ah ah! Brillante!fc. Comandi fissi. Ha senso!
inanutshellus,

1
Per evitare di lanciare un editor (pericoloso!), Puoi usarefc -e true -12 -1
BingsF

non disponibile in Ubuntu
okwap

1
@okwap, sciocchezze. È specificato POSIX e sicuramente disponibile in Ubuntu. (È una shell integrata, però - come deve essere - quindi se ci stai guardando /binnon la troverai.)
Wildcard
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.