O que significa o comando “sudo !!”?

45

Eu vi o comando

sudo !!

em um vídeo.

O que isso significa?

    
por mko 19.02.2011 / 19:54

2 respostas

52

Do manual do bash :

9.3.1 Event Designators

!! - Refer to the previous command. This is a synonym for ‘!-1’.

E na sudo man page :

sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.

Portanto, sudo !! significa executar o comando anterior como superusuário.

    
por 19.02.2011 / 19:57
10

O ponto de exclamação duplo "!!" é usado para recuperar a última linha inserida em um shell. sudo é uma abreviação de "Super User DO" e é usado quando você deseja executar uma função com privilégios de superusuário.

Então, se eu executar

./foobar

mas depois lembrou que eu precisava de privilégios de superusuário, era possível digitar

sudo !!

em vez de digitar sudo ./foobar até o fim. Isso é particularmente útil quando seu último comando estava na ordem de dezenas de caracteres.

    
por 20.02.2011 / 08:09