"-c" 인수로 호출할 때 urxvtc가 zsh 함수를 허용하지 않는 이유는 무엇입니까?

"-c" 인수로 호출할 때 urxvtc가 zsh 함수를 허용하지 않는 이유는 무엇입니까?

새 터미널을 시작하고 zsh 기능을 실행하기 위해 터미널 내에서 다음 명령을 실행해 보았습니다 urxvtc( urxvtd서비스로 실행 systemd).

     urxvtc -e zsh -c "my-zsh-defined-function"

기능을 알 수 없어 작동하지 않습니다. zshrc작동하려면 명시적으로 리소스를 가져와야 합니다.

     urxvtc -e zsh -c "source ~/.zshrc; my-zsh-defined-function"

문제는 왜 그런지 이해할 수 없다는 것입니다. 내가 실행할 때와 같이 소스를 가져와야하지 않습니까 zsh?.zshrcurxvtcmy-zsh-defined-function

답변1

대화형으로 실행 되지 않기 때문에 그렇지 않아야 합니다 zsh. 인용하다man zsh(부분 STARTUP/SHUTDOWN FILES):

[I]셸이 대화형인 경우 다음에서 명령을 읽습니다./etc/zshrc그런 다음$ZDOTDIR/.zshrc.

다음을 사용해 볼 수 있습니다 -i.

-i     Force  shell to be interactive.  It is still possible to specify
       a script to execute.

관련 정보