zshrcやプロンプトで定義するのではなく、zshを起動するときにフック関数をパラメータまたはenv varとして定義できるかどうか疑問に思います。
例えば;
zsh -F preexec() { date } -F chpwd() { pwd }
ありがとう
ベストアンサー1
次のサポートコードを追加しないと簡単ではありません~/.zshrc
。
if [[ -o interactive && $1 = eval ]]; then
"$@"; argv=()
fi
次に、次のように呼び出しますzsh
。
zsh -s eval 'preexec() date; chpwd() pwd'
例えば。
環境変数と同じ:
if (($+ZSH_STARTUP_CODE)); then
eval " $ZSH_STARTUP_CODE"
fi
次のように呼び出されますzsh
。
ZSH_STARTUP_CODE='preexec() date; chpwd() pwd' zsh
ただし、env変数は継承されるため、その環境で起動されたすべてのzshインスタンスに影響を与え、環境内のデータを自動化すると通常は緊張します。