ack 설치 가이드에서는 다음 명령을 사용하여 ack 스크립트를 설치할 것을 권장합니다.
curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 !#:3
!#:3
마지막 것은 일종의 역참조인 것 같은데 , 그게 무슨 뜻인가요? zsh에 동등한 것이 있습니까? Google은 도움이 되지 않았습니다.
답변1
이것은 bash에 의해 확장된 특수 구문입니다. zsh에서도 작동합니다.
Bash 매뉴얼 페이지(Historical Extensions 섹션)에 따르면 모드는 다음과 같이 확장됩니다.
- 이것이벤트 표시기
!#
지금까지 입력한 전체 명령줄을 의미합니다.curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755
:
사이에 분할이벤트 표시기(이 경우 전체 행) 및단어 표시기(하위 섹션 선택)- 이것단어 표시기
3
그것은 선택했다제삼단어/인수(단어 수는 0부터 시작), 이 경우에는~/bin/ack
.
최종 명령줄(보통 실행 전에 표시됨)은 다음과 같습니다
curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 ~/bin/ack
.
답변2
에는 bash
기록 대체가 있습니다(모든 기록 대체는 로 시작함 !
). 특히 !#
이는 지금까지 명령줄에 있는 모든 것을 의미하며, 세 번째 단어(0부터 계산)를 나타내기 위해 ':3'을 추가합니다.
따라서 위의 명령은 !#:3
로 번역됩니다 ~/bin/ack
.