SSH:远程运行脚本并保持不变

时间:2015-02-06 07:03:19

标签: shell unix ssh

我希望在远程系统上运行脚本,然后希望留在那里。 运行以下脚本: -

ssh user@remote logs.sh

这会运行脚本但之后我会回到我的主机系统。我需要保持远程。我试过..

ssh user@remote logs.sh;bash -l

它以某种方式解决了问题,但仍然没有像命令那样完全像新的登录一样工作: -

ssh user@remote

或者如果我可以在我的脚本中包含一些可以在运行脚本的同一目录中打开bash终端的东西会更好。请建议。

1 个答案:

答案 0 :(得分:4)

试试这个:

ssh -t user@remote 'logs.sh; bash -l'

需要引号才能将这两个命令传递给ssh-t选项强制进行伪tty分配。

讨论

考虑:

ssh user@remote logs.sh;bash -l

当shell解析此行时,它会将其拆分为两个命令。第一个是:

ssh user@remote logs.sh

这会在远程计算机上运行logs.sh。第二个命令是:

bash -l

这将打开本地计算机上的登录shell

上面添加了引号以防止shell以这种方式拆分命令。