새 터미널을 시작하고 zsh 기능을 실행하기 위해 터미널 내에서 다음 명령을 실행해 보았습니다 urxvtc
( urxvtd
서비스로 실행 systemd
).
urxvtc -e zsh -c "my-zsh-defined-function"
기능을 알 수 없어 작동하지 않습니다. zshrc
작동하려면 명시적으로 리소스를 가져와야 합니다.
urxvtc -e zsh -c "source ~/.zshrc; my-zsh-defined-function"
문제는 왜 그런지 이해할 수 없다는 것입니다. 내가 실행할 때와 같이 소스를 가져와야하지 않습니까 zsh
?.zshrc
urxvtc
my-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.