zsh 履歴にコマンドを追加するにはどうすればよいですか?

zsh 履歴にコマンドを追加するにはどうすればよいですか?

zsh スクリプトを使用してコマンドをコマンド履歴に追加し、上矢印を押したときにそのコマンドが表示されるようにしたいと思います。${HISTFILE} に行を追加しており、最後の行としてそこに表示されますが、上矢印アクションでは無視されるようです。

zsh は履歴ファイルと並行してセッション履歴を維持していることはわかっていますが、それを追加する方法や、私がやろうとしていることを実現する方法がまだわかりません。それを実行する方法はありますか?

答え1

print -sまたは を次のように使用できますprint -S:

-s
結果を標準出力ではなく履歴リストに配置します。print コマンドの各引数は、その内容に関係なく、履歴内で 1 つの単語として扱われます。
-S
結果を標準出力ではなく履歴リストに配置します。この場合、1 つの引数のみが許可され、完全なシェル コマンド ラインであるかのように単語に分割されます。効果は、オプションをHIST_LEX_WORDSアクティブにして履歴ファイルから行を読み取るのと同様です。

見るhttps://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-print

関連情報