zsh`history n`显示前n个条目,而不是后n个条目

时间:2018-07-13 02:25:02

标签: zsh

我阅读了history的文档,上面写着:

  history [n]
  history -c
  history -d offset
  history -anrw [filename]
  history -p arg [arg ...]
  history -s arg [arg ...]
          With no options, display the command history list with line
          numbers.  Lines listed with a *  have  been  modified.   An
          argument  of  n  lists only the last n lines.  

但是在我的zsh中,它始终显示前n行。我需要使用history | tail -n来显示最后几行。

  1. 是否有任何选项设置错误?如何纠正?
  2. 此外,如何在没有行号和时间戳的情况下打印历史记录,以便将部分历史记录转换为脚本

1 个答案:

答案 0 :(得分:3)

zshbuiltins(1)中有关zsh history的文档为:

  

历史

     

fc -l相同。

其中fc -l是:

  

fc -l [-LI] [-nrdfEiD] [-t timefmt] [-m match] [old = new ...] [first [last]]

     

如果未指定first,则将其设置为-1(最近的事件),如果指定了-l标志,则将其设置为-16。如果未指定last,则将其设置为first,如果给出了-l标志,则将其设置为-1。但是,如果当前事件已使用print -sfc -R向历史记录添加了条目,则last的默认-l包括自当前事件开始以来的所有新历史记录条目。

     

给出-l标志时,结果事件将列在标准输出中。

因此运行:

history -<n>

使用连字符减号(例如history -16)来查看zsh中历史记录的最后n行。