"!!"은(는) 무엇이고 "$_" 또는 "$?"와 어떻게 연결되나요?

"!!"은(는) 무엇이고 "$_" 또는 "$?"와 어떻게 연결되나요?

!!bash를 더 배우면서 문자열 대체 작업을 하고 있고 몇 가지 더미 예제를 추가했습니다 echo ${TEST/hey/!!}.

마지막으로 입력한 명령으로 바뀌었다는 게 놀랍네요 !!... 그게 뭐죠? 어떻게든 Magick 코드 링크에 연결되어 있나요 ? $?아니면 bash에서 같은 방식으로 사용할 수 있는 다른 것이 있나요?$_-

답변1

Bash는 확장이라고 불리는 다양한 유형의 자동 대체를 수행합니다. 예를 들어, 그 중 일부는 다음과 같습니다:

  • 역사적 확장
  • 경로 확장
  • 매개변수 확장
  • 다른 사람...

Bash를 포함하면 !!이전에 실행된 명령으로 자동으로 대체됩니다. 역할 !수행 내역 확장. 예를 들어 !10명령 기록에서 10번째 명령으로 대체됩니다. $매개변수 및 변수 확장을 수행합니다. 다음 문자는 모두 -, _?bash의 특수 매개변수입니다.

이에 대해 배울 수 있는 가장 좋은 소스는 bash 매뉴얼입니다.Bash 참조 매뉴얼: 상단

언급하신 예에는 echo ${TEST/hey/!!}매개변수 및 기록 확장이 포함됩니다.

관련 정보