현재 처리 중인 zsh 시작 파일(예: zshrc 또는 zshenv)의 전체 경로를 얻을 수 있는 방법이 있습니까? 즉, /usr/local/etc/zshrc
또는 에 위치할 수 있는 zshrc 파일이 있다고 가정해 보겠습니다 $HOME/.zshrc
. 이 zshrc 파일에서는 위치에 따라 다양한 작업을 수행해야 합니다. 일반적인 접근 방식은 $0
zshrc 스크립트 경로 대신 zsh 바이너리 경로를 포함하기 때문에 작동하지 않습니다.
답변1
프롬프트 확장은 %N
(현재 스크립트/소스 파일/함수)를 제공합니다.
그래서 당신은 이것을 할 수 있습니다 :
print -P %N
아니면 에서 가져오세요 ${(%):-%N}
.
$funcsourcetrace
호출 스택 파일 도 참조하세요 .