gcloud ssh和带参数的命令

时间:2015-10-26 22:27:03

标签: google-compute-engine gcloud

我在使用gcloud尝试使用ssh执行命令时遇到问题。当我从Mac执行时,这非常有效:

gcloud compute ssh instanceName --command="cd /folder; ls"

但是,当我尝试在其中一个VM中从Ubuntu运行它时,我收到以下错误:

ERROR: (gcloud.compute.ssh) unrecognized arguments: /folder; ls

听起来像是用空格分割命令。我尝试了不同的选项,如使用单引号,使用变量等,但没有任何方法可以帮助我。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

我发现了这个问题。如果您按照以下说明从Debian软件包安装:

https://cloud.google.com/sdk/#debubu

它将安装旧版本的gcloud。使用这些说明安装后:

https://cloud.google.com/sdk/#nix

我得到了最新版本(0.9.83)并能够毫无问题地执行命令。

答案 1 :(得分:0)

对我来说,可以通过将单引号更改为双引号来解决。

我改变了

gcloud compute ssh --zone us-east1-b instance-1 --command 'echo hello'

gcloud compute ssh --zone us-east1-b instance-1 --command "echo hello"