新しい端末を起動して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.