PowerShell执行gcloud命令连接Google Cloud实例报错求助
问题根因
- 错误1:你错误使用了管道符
|分隔gcloud命令的参数。管道符在PowerShell中的作用是将前一个命令的输出传递给后一个命令,不是用来换行拼接单个命令参数的,所以PowerShell会把--zone、--project这些参数识别成独立的管道命令,触发语法报错。 - 错误2:PowerShell的多行命令换行拼接符不是Linux shell的
\,而是反引号`,你用\转义自然不会生效。 - 额外错误:你写的命令开头多余的
$是Linux shell的提示符,PowerShell环境下不需要输入这个符号。
可行解决方案
方案1:直接使用单行命令(最稳妥,出错概率最低)
把所有参数直接写在同一行即可:
gcloud compute ssh ubuntugui --zone asia-southeast2-a --project eminent-booking-325201 --ssh-flag "-L 5901:localhost:5901"
方案2:拆分为多行提升可读性,使用PowerShell专属换行符
如果要拆分多行,在每一行的末尾加反引号`,不要加管道符:
gcloud compute ssh ubuntugui ` --zone asia-southeast2-a ` --project eminent-booking-325201 ` --ssh-flag "-L 5901:localhost:5901"
注意:反引号必须是每一行的最后一个字符,后面不能有空格、制表符等任何多余字符,否则仍然会触发语法错误。
内容的提问来源于stack exchange,提问作者Prayogi Pamungkas
相关产品推荐
相关产品推荐

