Bash 获取子网id AWS

Bash 获取子网id AWS,bash,amazon-web-services,zsh,Bash,Amazon Web Services,Zsh,我试图获取特定VPC内的子网ID,并将其存储在变量中 所以我可以在bash脚本中使用它们 aws ec2 describe-subnets --filter "Name=vpc-id,Values=VPCid" --region $REGION --query "Subnets[*].SubnetId" --output text 这就产生了这样的结果 subnet-12345 subnet-78910 (END) 我想知道如何将它们存储

我试图获取特定VPC内的子网ID,并将其存储在变量中 所以我可以在bash脚本中使用它们

aws ec2 describe-subnets --filter "Name=vpc-id,Values=VPCid" --region $REGION --query "Subnets[*].SubnetId" --output text
这就产生了这样的结果

subnet-12345        subnet-78910
(END)
我想知道如何将它们存储到变量中

我试过了

SBnet=$(aws ec2 describe-subnets --filter "Name=vpc-id,Values=VPCid" --region $REGION --query "Subnets[*].SubnetId" --output text)
echo $(SBnet[0]) 
但是我不知道我可以访问创建的数组/列表

我试过了

SBnet=$(aws ec2 describe-subnets --filter "Name=vpc-id,Values=VPCid" --region $REGION --query "Subnets[*].SubnetId" --output text)
echo $(SBnet[0]) 
但不起作用


我在MACos上使用zsh

您可以按如下方式执行此操作(添加您的专有网络和区域):

要将子网ID列表拆分为变量,可以执行以下操作:

#!/bin/bash

SUBNET_IDS=$(aws ec2 describe-subnets --filter "Name=vpc-id,Values=vpc-1234" --query "Subnets[*].SubnetId" --output text)

IFS=$'\t ' read -r -a subnet_ids <<< $SUBNET_IDS
echo "${subnet_ids[0]}"
echo "${subnet_ids[1]}"
#/bin/bash
子网id=$(aws ec2描述子网--过滤器“名称=vpc id,值=vpc-1234”--查询“子网[*]。子网id”--输出文本)

如果s=$'\t'read-r-a subnet\u id您可以按如下方式执行此操作(添加您的VPC和区域):

要将子网ID列表拆分为变量,可以执行以下操作:

#!/bin/bash

SUBNET_IDS=$(aws ec2 describe-subnets --filter "Name=vpc-id,Values=vpc-1234" --query "Subnets[*].SubnetId" --output text)

IFS=$'\t ' read -r -a subnet_ids <<< $SUBNET_IDS
echo "${subnet_ids[0]}"
echo "${subnet_ids[1]}"
#/bin/bash
子网id=$(aws ec2描述子网--过滤器“名称=vpc id,值=vpc-1234”--查询“子网[*]。子网id”--输出文本)

如果s=$'\t'read-r-a subnet\u id谢谢,有没有办法将每个结果存储在一个变量中?最好将子网id存储在一个数组中,因为它是一个可变长度的列表。已添加示例。谢谢,是否有方法将每个结果存储在变量中?将子网ID存储在数组中是明智的,因为它是一个可变长度的列表。增加了一些例子。