WGH*_*WGH 4 shell bash command-history zsh
有没有一种方法可以使某些命令“粘”在 shell 历史记录中?
我想保存一些最喜欢的命令,可以使用 Ctrl+R 进行搜索,就像历史记录的其余部分一样,但它们永远不应该过期。
一种简单的方法是将代码放入 shell 启动文件中以读取附加历史文件,并确保在内存中存储足够多的历史行,以便不会忘记粘性行。
在~/.bashrc:
history -r ~/.bash_history.sticky
Run Code Online (Sandbox Code Playgroud)
还要确保HISTSIZE至少HISTFILESIZE加上行数加上~/.bash_history.sticky您在长会话中执行的命令数,例如
HISTFILESIZE=1000
HISTSIZE=10000
Run Code Online (Sandbox Code Playgroud)
如果您想确保粘性历史记录条目保留在内存中而不具有非常大的值HISTSIZE,您可以通过手动修剪历史记录PROMPT_COMMAND来实现,但如果您有in history -d,则很难做到正确。erasedupsHISTCONTROL
在~/.zshrc:
fc -RI ~/.zsh_history.sticky
Run Code Online (Sandbox Code Playgroud)
还要确保HISTSIZE至少SAVEHIST加上行数加上~/.zsh_history.sticky您在长会话中执行的命令数,例如
SAVEHIST=1000
HISTSIZE=10000
Run Code Online (Sandbox Code Playgroud)
如果你想确保粘性历史记录条目保留在内存中而不具有很大的HISTSIZE,你可以通过手动修剪 中的历史记录来做到这一点precmd,但这很麻烦(zsh并不真正支持重写历史记录,你必须fc -W写入一个临时文件并读回编辑过的版本),如果您设置了hist_ignore_dups或选项,则很难做到正确hist_ignore_all_dups。
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |