我在使用gcloud尝试使用ssh执行命令时遇到问题。当我从Mac执行时,这非常有效:
gcloud compute ssh instanceName --command="cd /folder; ls"
但是,当我尝试在其中一个VM中从Ubuntu运行它时,我收到以下错误:
ERROR: (gcloud.compute.ssh) unrecognized arguments: /folder; ls
听起来像是用空格分割命令。我尝试了不同的选项,如使用单引号,使用变量等,但没有任何方法可以帮助我。
这样做的正确方法是什么?
答案 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"