我希望在远程系统上运行脚本,然后希望留在那里。 运行以下脚本:
ssh user@remote logs.sh
这段代码确实执行了脚本,但之后我又回到了我的本地系统。我需要一直留在远程系统上。我已经尝试过了…
ssh user@remote logs.sh;bash -l
某种程度上解决了问题,但仍然不能像新登录那样正常工作,命令如下:
ssh user@remote
如果我能在我的脚本中包含一些东西,让它可以在与脚本相同的目录中打开bash终端,那就更好了。请提供建议。
试试这个:
ssh -t user@remote 'logs.sh; bash -l'
ssh
。 -t
选项强制进行伪终端分配。ssh user@remote logs.sh;bash -l
ssh user@remote logs.sh
这个命令会在远程机器上运行 logs.sh
脚本。第二个命令是:
bash -l
这将在本地机器上打开一个登录Shell。
上面添加了引号,以防止Shell以此方式分割命令。
pty
时加入 -t
;如果你向 ssh 传递命令,则默认情况下不会分配 tty。 - Anya Shenanigansbash -i
可以工作,但 ssh -t
更好。回答已更新。 - John1024ssh
会话结束后运行一个命令:ssh -t user@remote 'logs.sh; bash -l'; echo "--[remote session done]--";
。该消息将在你退出后打印出来。或者你可以使用任何你喜欢的其他命令。 - will
ssh user@remote logs.sh; ssh user@remote
吗? - Biffen