gpt4 book ai didi

linux - 从脚本运行远程命令

转载 作者:太空宇宙 更新时间:2023-11-04 12:44:00 32 4
gpt4 key购买 nike

我需要从 jenkins 中运行一个 shell 脚本,以便在构建后提交更改。将构建部署到远程服务器不是问题,所以新构建就在那里。我需要做的就是提交它。

为此,我需要使用 shell 脚本通过 ssh 登录到该远程服务器,到目前为止一切正常:

#!/user/bin/expect -f
spawn ssh myusername@url
expect "password:"
send "mypassword\r"
interact

所以现在当我登录时,我想运行一些命令:cd/path/to/repository; svn commit -m "一些更改日志"

我试过类似的方法:

#!/user/bin/expect -f
spawn ssh -o "LocalCommand cd /path/to/repository" myusername@url
expect "password:"
send "mypassword\r"

但它就是行不通,因为我不知道该怎么做。

如果有人知道怎么做,请告诉我。

远程服务器在 linux 上运行,jenkins 在 osx 上运行。

最佳答案

我用 expect 找到了解决方案:

#!/user/bin/expect -f
spawn ssh myusername@url
expect "password:"
send "mypassword\r"
expect "some server prompt"
send "cd /path/to/repository\r"
send "svn commit -m 'Some change log'\r"

编辑:

这个解决方案似乎只是偶尔有效。我的意思是提交更改。

关于linux - 从脚本运行远程命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39327379/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com