You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分GCP gcloud Bash脚本为多行独立gcloud命令

问题与解决方案

需求

将单行的gcloud compute instances create命令拆分为多行,要求每行以gcloud开头。

待拆分的原始命令

gcloud compute instances create myinstance-1 --project=[PROJECT_ID] --zone=us-central1-c --machine-type=n1-standard-1 --network-interface=subnet=default,no-address --metadata=enable-oslogin=true --maintenance-policy=MIGRATE --provisioning-model=STANDARD --service-account=[SERVICE_ACCOUNT]-compute@developer.gserviceaccount.com --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --create-disk=auto-delete=yes,boot=yes,device-name=myinstance-1,image=projects/debian-cloud/global/images/debian-10-buster-v20221102,mode=rw,size=10,type=projects/[PROJECT_ID]/zones/us-central1-c/diskTypes/pd-balanced --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --reservation-affinity=an

已完成的部分拆分

gcloud compute instances create myinstance-1 --project=[PROJECT_ID] --zone=us-central1-c --machine-type=n1-standard-1 --network-interface=subnet=default

最终解决方案

自行解决后,得到包含三类虚拟机配置的拆分后脚本:

#!/bin/bash

# 实用型虚拟机

gcloud compute disks create disk-1 --size=10GB --zone=us-west1-a
gcloud compute instances create myinstance-1 \
--zone=us-west1-a --machine-type=n1-standard-1
gcloud compute instances attach-disk myinstance-1 --disk=disk-1 --zone=us-west1-a
gcloud compute networks create myinstance-1-network
gcloud compute firewall-rules create myinstance-1-firewall --network myinstance-1-network --allow tcp,udp,icmp --source-ranges 0.0.0.0/0

# Windows虚拟机

gcloud compute disks create disk-2 --size=10GB --type=pd-ssd --zone=us-west1-a
gcloud compute instances create windows-instance --zone=us-west1-a \
--machine-type=n1-standard-2 --image=windows-server-2016-dc-core-v20221109 --image-project=windows-cloud --boot-disk-size=100GB
gcloud compute instances attach-disk windows-instance --disk=disk-2 --zone=us-west1-a
gcloud compute networks create windows-instance-network
gcloud compute firewall-rules create windows-instance-firewall --network windows-instance-network --allow tcp,udp,icmp --source-ranges 0.0.0.0/0

# 自定义配置虚拟机

gcloud compute disks create disk-3 --size=10GB --zone=us-west1-a
gcloud compute instances create myinstance-3 --zone=us-west1-a \
--machine-type=e2-medium --image=debian-10-buster-v20220118 \
--image-project=debian-cloud --boot-disk-size=10GB
gcloud compute instances attach-disk myinstance-3 --disk=disk-3 --zone=us-west1-a
gcloud compute networks create myinstance-3-network
gcloud compute firewall-rules create myinstance-3-firewall --network myinstance-3-network --allow tcp,udp,icmp --source-ranges 0.0.0.0/0 

内容的提问来源于stack exchange,提问作者Lidhiwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:30:56