csh, bash, zsh 및 기타 쉘에서 `!#`의 용도는 무엇입니까?

csh, bash, zsh 및 기타 쉘에서 `!#`의 용도는 무엇입니까?

에서 man bash:

!# 지금까지 입력한 전체 명령줄입니다.

에서 man zshall:

!# 지금까지 입력된 현재 명령줄을 확인하세요. 줄은 따옴표가 있는 줄 앞의 단어까지 포함하여 완전한 것으로 간주됩니다 !#.

내가 생각할 수 있는 유일한 것은:

cd ..;!#!#!#

8단계 올라가세요 :))

답변1

자주 사용하지는 않지만 : 명령의 n번째 단어를 추출하는 것과 함께 사용하면 가끔 유용합니다. 예를 들어:

$ touch FILE.a
$ echo file created
$ mv FILE.a !#:1.bak
mv FILE.a FILE.a.bak

cut또 다른 예는 실제로는 의미가 없지만 다음과 같이 간단한 명령으로 같은 줄에 정의된 변수의 내용을 가져오는 데 사용할 수 있습니다 .

$ LETTER=a echo letter: $(cut -d '=' -f2 <<< "!#:0")
letter: a

$LETTER명령을 실행하기 전에는 확장된 상태로 작동 하지 않습니다 .

$ LETTER=a echo letter: $LETTER
letter:

관련 정보