É melhor usar !! ou história?

1

Descobri o atalho útil !! que pode ser usado quando você esquecer sudo antes do comando. Você vai digitar facilmente

$ sudo !!

Estou fazendo isso há muito tempo com a seta para cima , ctrl + home e digite sudo . A vantagem é que você vê o comando.

Você recomendaria mudar o hábito e usar em vez de !! e por quê?

    
por xralf 18.05.2017 / 04:54

2 respostas

2

Ambas as maneiras têm seus prós e contras, como você e Julie notaram. Mas a melhor solução é usar os dois quando necessário. Então, quando você não tem certeza do que !! resultará,

  • primeiro UpArrow para ver o que era
  • então DownArrow
  • e, em seguida, sudo !!

Existem mais truques sobre a história. Isso é de man bash .

Event Designators
   An  event designator is a reference to a command line entry in the his‐
   tory list.  Unless the reference is absolute, events  are  relative  to
   the current position in the history list.

   !      Start  a  history substitution, except when followed by a blank,
          newline, carriage return, = or ( (when the extglob shell  option
          is enabled using the shopt builtin).
   !n     Refer to command line n.
   !-n    Refer to the current command minus n.
   !!     Refer to the previous command.  This is a synonym for '!-1'.
   !string
          Refer  to the most recent command preceding the current position
          in the history list starting with string.
   !?string[?]
          Refer to the most recent command preceding the current  position
          in  the  history  list containing string.  The trailing ? may be
          omitted if string is followed immediately by a newline.
   ^string1^string2^
          Quick substitution.   Repeat  the  previous  command,  replacing
          string1  with  string2.  Equivalent to ''!!:s/string1/string2/''
          (see Modifiers below).
   !#     The entire command line typed so far.

Para ver toda a história sobre expansão do histórico , acesse man bash e encontre a seção EXPANSÃO HISTÓRICA .

    
por 18.05.2017 / 13:55
5

Se você acabou de digitá-lo e ainda vê-lo, então não vejo por que não usar !! , mas é claro, não faça isso cegamente e acabe executando uma operação anterior que pode atrapalhar as coisas.

Não consigo imaginar muitos casos em que seria perigoso refazer o último comando dessa forma, a menos que você fumasse algo realmente strong.

    
por 18.05.2017 / 05:03