Bash에서 !#은 무엇을 의미합니까(느낌표 및 해시 태그/파운드 기호)?

Bash에서 !#은 무엇을 의미합니까(느낌표 및 해시 태그/파운드 기호)?

이 명령이 다음과 같은 출력을 제공하는 이유는 무엇입니까?

$ echo !#
echo echo
echo

$

나는 "!"에 대해 읽었고 그것이 상황에 따라 어떻게 역사를 부정하거나 확장하는지 읽었습니다. #과 연결하면 왜 이렇게 동작하는지 이해가 되지 않습니다.

답변1

실행하면 echo !#"bash는 현재 !#이 있는 전체 명령줄을 바꿀 수 있습니까? (!# 자체는 포함하지 않음)"라고 말하는 것입니다.

그런 다음 Bash는 대체 결과를 stderr로 인쇄합니다. 이는 여러분이 볼 수 있는 것입니다. 그런 다음 출력의 다음 줄은 echo echostdout의 작업 결과입니다.echo echoecho

자세한 내용은 이벤트 표시기 섹션에 나와 있습니다.배쉬 맨페이지.

!#명령줄을 반복하기 위한 특별한 이벤트 표시기일 뿐입니다 .

더 명확한 예입니다.

echo "There's two of us!";!#

결과 :

echo "There's two of us!";echo "There's two of us!"; 
There's two of us! 
There's two of us! 

관련 정보