也许我忽略了一些东西,但是有没有办法获取您正在使用的当前会话的当前 bash 历史记录
如果我跑
ssh host
$ pwd
$ ls
$ cd /tmp
我只想看看这 3 个命令,没有别的
答案1
一个稍微迂回的方式:
history -a ~/current_history
这会将当前会话未保存的 bash 历史记录保存到~/current_history
,然后您可以查看。
答案2
我有一个问题,我想history
将当前写入文件但仍然希望将条目记录在主 bash 中history
我通过附加解决了这个问题文件和cat
:
history -a current-history
cat current-history >> .bash_history
答案3
您history -a
与文件名一起使用。这可以是一个设备文件,例如/dev/stdout
.
然后你可以随心所欲地管道它。例如,要查看当前会话历史记录,less
您可以
history -a /dev/stdout | less
答案4
用于comp
将整个历史记录(包括当前 Bash 会话)与已保存的历史记录进行比较,.bash_history
并仅打印当前会话特有的那些行——这应该仅显示自启动当前 Bash shell 以来执行的那些命令
comm -23 <( history | cut -c 8- ) ~/.bash_history
编辑:正如 @Wildcard 指出的,此命令不适用于所有发行版comm
。我在 Mac 操作系统上对此进行了测试。
使用以下相同想法的变体diff
:
diff <( history | cut -c 8- ) ~/.bash_history | sed -n 's/^< //pg'