fc -N -1
Onde o -N
é o último N comando que você deseja repetir.
Isto irá abrir um editor com os últimos N comandos nele. Você pode editar os comandos conforme desejado e, quando fechar o editor, todos eles serão executados em sequência.
No bash, você pode repetir o último comando inserindo !!
ou o terceiro último comando !-3
, por exemplo.
Existe uma maneira rápida de repetir os últimos 3 comandos, sem ter que digitar !-1; !-2; !-3
explicitamente?
fc -N -1
Onde o -N
é o último N comando que você deseja repetir.
Isto irá abrir um editor com os últimos N comandos nele. Você pode editar os comandos conforme desejado e, quando fechar o editor, todos eles serão executados em sequência.
Você também pode virar esse problema de cabeça para baixo e agrupar esses três comandos anteriores, por exemplo:
echo 1; echo 2; echo 3
e então você estará bem escrevendo !!
.
Bem, não o que você espera, mas isso funciona:
history | fgrep -v history | tail -3 | sed 's_^ *__' | cut -f 2- | bash
E você pode criar uma função para isso:
myFunc(){
history | egrep -v 'history|myFunc' | tail ${1} | sed 's_^ *__' | cut -f 2- | bash
}
Então você pode chamar assim:
myFunc -3
Tags bash