가장 최근 일치 기록 항목을 실행하기 위한 zsh 별칭

가장 최근 일치 기록 항목을 실행하기 위한 zsh 별칭

로 시작하는 마지막 터미널 명령을 실행하는 별칭을 zsh에 만들고 싶습니다 node. 를 사용하여 해당 명령을 실행할 수 있지만 !?node을 사용하여 별칭을 만들 수는 없습니다 alias N='!?node'. 이 별칭을 어떻게 만들 수 있나요?

답변1

기록 확장은 명령줄에서 수행됩니다.~ 전에별칭 확장. 따라서 별칭에 기록 확장을 추가하는 것은 작동하지 않습니다. 별칭이 확장된 후에는 더 이상 기록 확장이 수행되지 않기 때문입니다.

반면에 매개변수 확장이 수행됩니다.~ 후에별칭 확장. 따라서 다음을 대신 사용할 수 있습니다.

alias N='"${(z)history[(r)node *]}"'

관련 정보