zsh履歴にコマンドを追加するには?

zsh履歴にコマンドを追加するには?

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

zshが履歴ファイルと並行してセッション履歴を保持しているのを見ましたが、それを追加または実行したい操作を実行する方法が見つかりませんでした。それを行う方法はありますか?

答え1

これを達成するには、次の方法を使用することがprint -sできます。print -S

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

バラよりhttps://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-print

関連情報