사용하기가 더 쉽지 않나요? ! 아니면 역사?

사용하기가 더 쉽지 않나요? ! 아니면 역사?

!!명령을 잊어버리기 전에 사용할 수 있는 유용한 단축키를 찾았습니다 . sudo쉽게 들어가실거에요

$ sudo !!

오랫동안 나는 이것을 다른 방식 으로 up arrow해왔고 . 장점은 명령을 볼 수 있다는 것입니다.ctrl + homesudo

오히려 습관을 바꾸고 사용하는 것을 권장하시겠습니까 !!? 왜?

답변1

그냥 입력했는데도 계속 표시된다면 왜 사용되지 않는지 알 수 없지만, !!물론 무턱대고 이전 작업을 실행하게 되어 상황이 엉망이 될 수는 없습니다.

정말 독한 담배를 피우지 않는 한 이런 방식으로 마지막 명령을 다시 실행하는 것이 많은 상황에서 위험할 것이라고는 상상할 수 없습니다.

답변2

당신과 Julie가 알아차렸듯이, 두 접근 방식 모두 장단점이 있습니다. 하지만 실제로 가장 좋은 해결책은 필요할 때 두 가지를 모두 사용하는 것입니다. 따라서 무엇을 기대해야 할지 확신이 없을 때 !!,

  • 먼저 UpArrow그것이 무엇인지 살펴보세요.
  • 그 다음에DownArrow
  • 그런 다음sudo !!

역사에 대한 더 많은 팁이 있습니다. 이것은 에서 온 것입니다 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.

전체 기사 보기역사적 확장, 로 이동하여 man bash해당 섹션을 찾으세요.역사적 확장.

관련 정보