我已经根据自己的喜好设置了 .bashrc 文件。我通常在插入远程服务器的硬件上工作。我通过 ssh 进入该远程服务器。我希望在 ssh 进入远程服务器时运行我的 .bashrc,而不是服务器上的 .bashrc。有没有什么方法可以实现这一点?
答案1
据我所知,没有办法做到这一点。
也许您应该将您的复制~/.bashrc
到一台服务器并在所有其他服务器上安装配置管理工具(Puppet、Chef 等)来拉取它。
答案2
我认为 sshrc 就是你要找的: https://github.com/taylorskalyo/sshrc
sshrc 的工作方式与 ssh 类似,但它还会在远程登录后获取 ~/.sshrc。
$ echo "echo welcome" > ~/.sshrc
$ sshrc me@myserver
welcome
$ echo "alias ..='cd ..'" > ~/.sshrc
$ sshrc me@myserver
$ type ..
.. is aliased to `cd ..'
您可以使用它来设置环境变量、定义函数和运行登录后命令。就这么简单,而且不会影响服务器上的其他用户 - 即使他们也使用 sshrc。有关更高级的配置,请继续阅读。
答案3
我觉得https://github.com/fsquillace/pearl-ssh满足您的需要。
我早在 sshrc 诞生之前就写过它,与 sshrc 相比,它有更多好处:
- 它不需要两台主机都依赖 xxd(远程主机上可能不可用)
- Pearl-ssh 使用更高效的编码算法
- 它只有~20行代码(真的很容易理解!)
例如:
$> echo "alias q=exit" > ~/.config/pearl/sshrc
$> ssh_pearl [email protected]
myserver.com $> q
exit