「-c」引数で呼び出すときにurxvtcがzsh関数を受け入れないのはなぜですか?

「-c」引数で呼び出すときにurxvtcがzsh関数を受け入れないのはなぜですか?

新しい端末を起動してzsh機能を実行するために、端末内で次のコマンドを実行してみましたurxvtcurxvtdサービスとして実行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.

おすすめ記事