使用shell脚本在远程服务器上执行命令

时间:2017-04-28 14:48:02

标签: bash shell ssh

我有一个位于构建服务器上的部署脚本。每次我需要生成构建时,我需要使用ssh登录服务器,然后触发部署脚本。 我设法生成公钥/私钥,这样我就不需要输入密码来登录构建服务器了。但我仍然需要登录并运行部署脚本。 有没有办法自动登录,在构建服务器上执行部署脚本,然后从一个本地脚本中退出。如何实现这个

3 个答案:

答案 0 :(得分:1)

您可以使用管道(假设您使用的是* nix OS):

echo "your --command --here" | ssh user@host

答案 1 :(得分:0)

通常只是

ssh buildserver /path/to/build.sh

您可能需要调整选项。

答案 2 :(得分:0)

只需在一行中ssh <HOST> <COMMAND>。如果你已经可以了 使用密钥登录您不必输入密码。例如:

$ ssh localhost 'echo hi'
hi

<COMMAND>同步运行 。这意味着ssh赢了 完成直到远程服务器上的<COMMAND>运行完成。看看自己:

$ ssh localhost 'sleep 10'

此命令将等待10秒钟,您将无法输入新命令,直到它完成。