如何连接 ssh 并运行 shell 脚本

如何连接 ssh 并运行 shell 脚本

我在服务器上有一个简单的应用程序,我想从我的电脑上自动运行它。我可以通过此脚本成功连接到服务器:

spawn ssh -t login@ip
expect "password"
send "password\r"
interact

但我无法使用我的应用程序将目录更改为文件夹。我尝试过:

spawn ssh -t login@ip bash -c "cd /var/app"

所以:

spawn ssh -t ssh login@ip 'cd /var/app && exec bash -l'

所以:

spawn ssh -t login@ip
expect "password"
send "password\r"
cd var/app
exec bash
interact

以及其他变体...

但通过脚本它不起作用,因为我的脚本想要更改本地机器上的目录(而不是服务器上的目录)。我能解决这个问题吗?谢谢你的关注。

答案1

如果需要通过ssh使用子 shell 执行多个命令,如下所示:

ssh user@host bash -c 'pwd ; dir && ls'

相关内容