如何创建连接到VM并执行命令的shell脚本?

时间:2017-06-30 08:06:22

标签: linux bash shell google-cloud-platform gcloud

我在gcloud VM实例上有一个Python脚本。我想通过这个shell脚本运行它:

gcloud compute instances start instance-1  #start instance
gcloud compute ssh my_username@instance-1  #ssh into it
cd project_folder                          #execute command once inside VM
python my_script.py                        #run python script
sudo shutdown now                          #exit instance
gcloud compute instances stop instance-1   #stop instance

前两个命令按预期工作;但是,其余命令不会在VM上执行。如何在连接到VM后创建执行命令的脚本?

2 个答案:

答案 0 :(得分:2)

gcloud compute instances start instance-1  #start instance
gcloud compute ssh my_username@instance-1  #ssh into it

此时,您与正在等待输入的VM建立了SSH连接。那不是你想要的。

请注意--command的{​​{1}}选项,其中......

  

在目标实例上运行该命令,然后退出。

gcloud compute ssh

答案 1 :(得分:1)

您还可以使用SSHPass实用程序自动执行远程服务器上的命令。 https://linux.die.net/man/1/sshpass