質問: PROMPT="%(?.%{${fg[green]}%}.%{${fg[red]}%})%n${reset_color}@${fg[blue]}%m${reset_color}(%*%) %~ $(toggl_current) %# " **■問題** シェルをzshに切り替えた直後はプロンプトの表示が意図通りになるが、cdやcpなどのコマンドを実施しても、toggl_current()が実行されず、プロンプトの内容が古いままとなる。 表示を更新するには、zshを抜けてから再度zshにシェルを切り替える必要がある。 **■質問** 上記のような場合、どのような設定をすればプロンプトの内容が更新されるようになるかをお教えいただければと思います。
回答: togglを知らないので、何をしたいのか今ひとつ分かりませんが、コマンド実行ごとに`toggl_current`を実行したいのなら、 ``` precmd() { toggl_current; } ``` として下さい。プロンプトが出る直前に`precmd`が実行されます。