任何人都可以解释以下内容吗?当我使用ssh远程执行历史记录时,不会产生任何输出,即使其他远程命令确实产生输出,并且该计算机上有历史记录。
ssh host 'history | tail' # produces no output
ssh host 'echo foo | tail' # produces 'foo' as output
ssh host
> history | tail # produces expected output
答案 0 :(得分:4)
未加载非交互式shell的历史记录。您可以tail
历史记录文件(~/.bash_history
)或启用历史记录并加载它。
set -o history
history -r
从远程主机执行此操作所需的完整命令如下:
ssh host 'HISTFILE=~/.bash_history; history -r; history' | tail