BASHは、$PROMPT_COMMAND
第1レベルのインタラクティブプロンプトの前に実行されるコマンドを定義する環境変数をサポートしています。私はそれと同等のZSHを探しています。
ドキュメントには、それprecmd
を実現するために定義できる関数があると書かれています。ただし、環境変数から定義する方法はわかりません。
ZSHにその関数の定義を含むファイルを読み取らせる環境変数を渡すことを検討しましたが、ZSH はそのようなことをサポートしていないようです。グローバルファイルとユーザーごとのファイルのみを読み取ります。それらを置き換えることはできますが、ファイルを変更せずに追加することはできません。
それでは$PROMPT_COMMAND
、BASHで使用するように、環境変数を介してZSHで事前プロンプトフックを定義するにはどうすればよいですか?
exit
とexec
、OK ;)
)
start() { eval "$@"; echo post-command-code }
そして、zle-bindingを使用して、コマンドラインをstart
先頭に追加して実行しますか?
DEBUG
トラップは素敵な見つけることですが、あなたはまだそれを定義するためにどのように問題を抱えています。回答をもう一度拡張しましたが、DEBUGトラップソリューションに関する独自の回答を作成するのはあなたにお任せします。:)