Я хотел бы использовать скрипт 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