Execute novamente vários comandos de histórico

21

Imagine que você acabou de executar uma dúzia de comandos. Diga ...

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

Eu sei que posso reexecutá-los concatenados com !-12 && !-11 && !-10 && (and so on) && !! se eles tiverem apenas sido executados (improváveis) ou !10000 && !10001 && !10002 && (and so on) , mas existe uma maneira mais simples do que digitar à mão cada número da história com um estrondo e e comercial?

Existe algum tipo de coisa que eu não saiba no bash?

por exemplo. !{10000-10012} # algo assim, apenas trabalhando.

    
por inanutshellus 09.10.2012 / 18:22

1 resposta

21

Isso é o que o comando fc é para.

fc -12 -1

ou

fc 10000 10012

Isto não é exatamente o que você quer, pois ele lançará um editor primeiro, mas isso provavelmente é uma boa coisa, já que lhe dá a chance de checar se você tem os comandos corretos e até mesmo editá-los usando todos os recursos do seu editor favorito. Depois de salvar suas alterações e sair do editor, os comandos serão executados.

    
por 09.10.2012 / 18:35