Você pode repetir o último comando com flags no bash?

1

Existe uma maneira de repetir seu último comando com sinalizadores adicionais?

Exemplo:

Digamos que eu faça isso:

rm myFavouriteDirectory

Recebo uma resposta:

rm: myFavouriteDirectory/: is a directory

Obviamente, o que eu pretendia fazer era:

rm -rf myFavouriteDirectory

Existe alguma maneira de repetir o último comando com bandeiras como !! -rf (isso não funciona)

    
por Matt Harrison 25.09.2013 / 17:22

1 resposta

4

Veja "HISTORY EXPANSION" em man bash .

O mais próximo que eu estou ciente seria:
!!:0 -rf !*

!!:0 é a primeira palavra no comando anterior, !* é tudo menos o primeiro (ou seja, os argumentos).

Mas na prática eu sempre digito:
rm -rf !*

Nas distribuições GNU, !! -rf (ou seja, colocar as bandeiras no final) ainda funcionaria para a maioria dos comandos, mas geralmente não seria no BSD e OSX. Depende de como o comando processa argumentos.

    
por 25.09.2013 / 18:47