Muito útil quando você esquece um sudo no início do seu comando, !!
age como um apelido do comando anterior. Exemplo:
$ mv /very/long/path/for/a/protected/sensible/file/caution.h .
(...) Permission denined
$ sudo !!
sudo mv /very/long/path/for(...) .
[sudo] password :
- Como chamamos isso de
!!
truque duplo ? Pesquisas pela internet são difíceis por causa desse token. - Como funciona ? Suspeito de um link com o comando history.
- Onde está definido? Posso definir outro eu mesmo?
EDIT: Alguns designadores de eventos interessantes
!!:*
Refere-se aos argumentos do comando anterior. Caso de uso:
cat /a/file/to/read/with/long/path
nano !!:*
:p
Basta imprimir o comando sem executá-lo, você deve colocá-lo no final do designador de eventos.
$ !-5:p
sudo rm /etc/fstab -f
bash
shell-script
command-history
Totem
fonte
fonte
man history
!
um comando correspondente na lista de histórico do shell atual.!!
é um caso especial, equivalente a!-1
, em que um número negativo an
seguir!
se refere ao enésimo enésimo comando anterior.LESS='+/^HISTORY EXPANSION' man bash
.Respostas:
!!
está listado nobash
manual sob o título "Designadores de eventos":Então
!!
será substituído pelo comando anterior.Observe que o histórico do shell não conterá o literal,
!!
mas o comando real que foi executado:fonte