当我从shell运行fc -l 1
时,我会从.zsh_history获取完整的历史记录。当我从脚本运行相同的命令时,它仅限于最后30个。任何想法为什么?
我有来自oh-my-zsh的以下zsh历史记录设置
if [ -z $HISTFILE ]; then
HISTFILE=$HOME/.zsh_history
fi
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory
setopt extended_history
setopt hist_expire_dups_first
setopt hist_ignore_dups # ignore duplication command history list
setopt hist_ignore_space
setopt hist_verify
setopt inc_append_history
setopt share_history
答案 0 :(得分:3)
如果您将echo $HISTSIZE
放入脚本中,则可能是30.脚本不会提取.zshrc
,因此脚本不知道您的历史记录设置。
将特定于历史记录的选项放入其自己的文件history.zsh
并从脚本中获取并使用fc -R
在对fc
的任何其他调用之前读取历史记录文件:
source ${ZDOTDIR-$HOME}/.zsh/history.zsh
fc -R
...
fc -l 1