微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取远程 bash shell 以使用本地计算机上的 .bash_history 文件

如何解决获取远程 bash shell 以使用本地计算机上的 .bash_history 文件

我的环境包含在每个集群中有多个主机的集群,因此我倾向于在此类集群中的主机上运行类似或等效的命令。

有时,我通过 ssh 连接到集群主机,并记得我曾在该集群中的另一台主机上运行过某个命令,但我不记得我在哪个主机上运行过它,但是我需要再次运行该命令.
由于集群中的每台主机都有自己的 .bash_history,我必须登录到每台主机并查看 .bash_history 文件以找到该命令。

但是,如果我可以为集群中的所有主机使用一个 .bash_history 文件(例如名为 .bash_history.clusterX),那么我将能够在 bash 历史记录中搜索该命令(使用 CTRL +R) 并执行它。
这可能吗?

在我的设置中,共享主目录(通过 nfs 等)不是一个选项。

解决方法

另一种方法是将相关命令保留在每台机器上每个远程用户的主文件夹中的可执行文件(“ssh_commands”)中执行。
这些 ssh_commands 将包括您在打开 SSH 会话时需要在每台服务器上执行的命令。

在每个 SSH 会话中调用该文件:

ssh remoteUser@remoteServer -t "/bin/bash --init-file <(echo 'source ssh_commands')"

这样,您就不必在本地或远程寻找正确的命令来执行:您的 SSH 会话打开立即执行您想要的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。