有没有办法反转zsh中的history_ignore?

有没有办法反转zsh中的history_ignore?

我正在尝试反转或反转 HISTORY_IGNORE 参数。具体来说,尝试仅在历史文件中包含某些内容,而不是选择排除某些内容。

例如,如果我只包含前缀为“recordthis”的命令,这正是我想要的。

我不知道是否有办法使用像 HISTORY_INCLUDE 这样的东西,据我所知,这种方法不存在。我也不知道是否有一种方法可以说HISTORY_IGNORE="(*|!recordthis *)",我想我已经尝试过,但没有达到预期的结果。

答案1

HISTORY_IGNORE被解释为 zsh 通配符模式,因此只要您设置该extendedglob选项,您就可以定义

HISTORY_IGNORE='^recordthis*'

为了zsh不保存不以 开头的recordthis条目$HISTFILE

^是否定全局运算符。另请参阅~ 除了(或者并不是) 运算符(还需要extendedglob):

HISTORY_IGNORE='*~recordthis*'

(忽略任何事物( *) 除了以 ) 开头的字符串recordthis

相关内容