将所有“ ssh”命令保存到文件

时间:2018-12-18 20:08:54

标签: bash shell ssh prompt

我通过ssh登录了许多服务器。通常,我只使用简单的bash history search来滚动浏览“ ssh”命令的历史记录并找到我想要的命令。但是,最终我的.bash_history达到了极限,尽管增加了极限,但我开始丢失条目。

我宁愿调整我的$PROMPT_COMMAND,以便在执行每个命令之后,它检查是否使用ssh运行了命令,如果是,则将该命令附加到文件中的某个位置。

我看到了herehere的一些相关问题,但是我很难理解如何在我可以从.bashrc提取并添加到{{ 1}},它将检查输入的最后一条命令是否以$PROMPT_COMMAND开头并将其复制到文件中。

例如,这不起作用:

ssh

这也不起作用:

$ PROMPT_COMMAND="echo; foo; "
$ foo () { echo "command was: $BASH_COMMAND" ; }
$ ssh cn-0030
...(Ctrl-D)...
$ logout
Connection to cn-0030 closed.

command was: echo "command was: $BASH_COMMAND"

因为$ foo () { echo !! | grep ssh --color ; } 被扩展为立即运行的实际最后一条命令,然后保存到!!,而不是在评估foo时被评估

0 个答案:

没有答案