Como adiciono um comando ao histórico zsh?

Como adiciono um comando ao histórico zsh?

Gostaria de usar um script zsh para anexar um comando ao histórico de comandos para que ele apareça quando eu pressionar a seta para cima. Estou anexando uma linha a ${HISTFILE} e ela aparece como a última linha, mas a ação da seta para cima parece ignorá-la.

Vejo que o zsh mantém um histórico de sessão em paralelo ao arquivo de histórico, mas ainda não vi uma maneira de adicioná-lo ou de realizar o que pretendo fazer. Existe uma forma de fazer isso?

Responder1

Você pode usar print -sou print -Spara isso:

-s
Coloque os resultados na lista de histórico em vez de na saída padrão. Cada argumento do comando print é tratado como uma única palavra no histórico, independentemente do seu conteúdo.
-S
Coloque os resultados na lista de histórico em vez de na saída padrão. Neste caso apenas um único argumento é permitido; ele será dividido em palavras como se fosse uma linha de comando completa do shell. O efeito é semelhante à leitura da linha de um arquivo de histórico com a HIST_LEX_WORDSopção ativa.

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

informação relacionada