Как добавить команду в историю zsh?

Как добавить команду в историю zsh?

Я хотел бы использовать скрипт zsh для добавления команды в историю команд, чтобы она появлялась при нажатии стрелки вверх. Я добавлял строку в ${HISTFILE}, и она появляется там как последняя строка, но действие стрелки вверх, похоже, игнорирует ее.

Я вижу, что zsh сохраняет историю сеанса параллельно с файлом истории, но я пока не видел способа что-то добавить или каким-то другим образом выполнить то, что я собираюсь сделать. Есть ли способ сделать это?

решение1

Для этого можно использовать print -sили :print -S

-s
Помещать результаты в список истории вместо стандартного вывода. Каждый аргумент команды print рассматривается как одно слово в истории, независимо от его содержания.
-S
Поместите результаты в список истории, а не в стандартный вывод. В этом случае допускается только один аргумент; он будет разделен на слова, как если бы это была полная командная строка оболочки. Эффект аналогичен чтению строки из файла истории с активной опцией HIST_LEX_WORDS.

Видетьhttps://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-print

Связанный контент