Answers:
稍微回旋的方式:
history -a ~/current_history
这会将当前会话的未保存的bash历史记录保存到~/current_history,然后您可以查看。
~/$$_history。
history -a将它与以前的历史记录一起放入〜/ .bash_history ...会更方便,如果您的历史记录比截止时间长(在我的centos7和fedora 24系统上为1000),则可能会出现问题。
使用comp与已经坚持历史比较的整个历史(包括当前bash命令。)在.bash_history和只打印那些独特当前会话行-这应该只显示自开始当前Bash shell中已执行这些命令
comm -23 <( history | cut -c 8- ) ~/.bash_history
编辑:正如@Wildcard指出,此命令不适用于的所有发行版comm。我在Mac OS上进行了测试。
相同想法的变体,使用diff:
diff <( history | cut -c 8- ) ~/.bash_history | sed -n 's/^< //pg'
comm假设输入已排序。 但是,欢迎来到Stack Exchange!:)
comm在上面的示例中,输入的两面都是固有排序的。你跑了吗?它没有产生您当前的Bash会话历史记录吗?
~/.bash_history是不排序; history一旦删除前导行号,也不会对输出进行排序。(除此以外,comm期望按字典顺序输入,而不是数字输入。)
comm示例中命令的两个参数的顺序相同,而不是按字典顺序排序。FreeBSD的版本comm不需要按字典顺序排序的输入
history命令了吗?