我正在寻找一种在通过 SSH 登录远程机器时执行本地命令的方法。(我想在命令完成后保持登录状态。)换句话说,我想在我的命令行上指定命令。它应该在远程机器上执行,然后我应该得到shell,就像我正常登录一样。
例如,假设我想/home在获得 shell 之前安装在远程机器上。我会做这样的事情(效果不佳)
ssh mymachine.example.com 'mount /home ; /bin/bash'
Run Code Online (Sandbox Code Playgroud)
实际上,我正在寻找一种如何将以下两个命令压缩为一个的方法:
ssh mymachine.example.com 'mount /home'
ssh mymachine.example.com
Run Code Online (Sandbox Code Playgroud)
有人知道该怎么做吗?
重要提示:我不想在远程机器上存储要执行的命令。它必须存储在本地(也许它包含我解密加密家庭的密码。)
我知道如何将 GNOME 终端(或 xterms!)关于最后一个退出代码的提示设置为绿色/红色:
vi .bashrc
export PROMPT_COMMAND='PS1="`
if [[ \$? = "0" ]];
then echo "\\[\\033[0;32m\\]";
else echo "\\[\\033[0;31m\\]";
fi`[\u@\h \w]\[\e[m\] "'
export PS1
Run Code Online (Sandbox Code Playgroud)
图片中:

但是如果我登录到远程服务器,那么这些颜色设置就不起作用了!
我怎样才能将它设置为在远程终端上工作?不幸的是,我无法将上述行附加到远程服务器.bashrc。