我的 gcloud 查询获取了 2 组值,如何分别显示它们?
My gcloud query fetches 2 sets of values, how do I display them separately?
以下 gcloud 查询(有点)returns 组织内的所有 GCP 文件夹:
ORG=$(\
gcloud organizations list \
--format="value(name)")
FOLDERS=$(\
gcloud resource-manager folders list \
--format="value(ID,displayName)" \
--organization=${ORG})
for FOLDER in ${FOLDERS}
do
echo ${FOLDER}
done
如何分别回显文件夹 ID 和文件夹显示名称?
此外,文件夹 displayNames 包含空格。我想我需要使用 base64 编码 + 解码才能正确显示它们。但是我不知道该怎么做。
有人可以指导我吗?谢谢
我的方法是从 gcloud
命令输出 CSV,该命令使用 format="csv(ID,displayName)
提供循环范围以给出逗号分隔的值,然后使用 IFS
和read
将字符串拆分为 2 个字段
在您的 for
循环中,您可以使用:
IFS=, read ID,DISPLAY_NAME <<< ${FOLDER}
IIRC 您可以 --format="csv(ID, displayName.encode(base64))"
编码 displayName
,然后使用 bash 的 base64 --decode
对其进行解码。我在这里 某处有一个例子,它与 gcloud
一起使用,但在我的 phone 上,搜索起来不太容易。
找到了:
顺便说一句,这些函数都被记录在案——尽管不容易找到——如gcloud topic projections
以下 gcloud 查询(有点)returns 组织内的所有 GCP 文件夹:
ORG=$(\
gcloud organizations list \
--format="value(name)")
FOLDERS=$(\
gcloud resource-manager folders list \
--format="value(ID,displayName)" \
--organization=${ORG})
for FOLDER in ${FOLDERS}
do
echo ${FOLDER}
done
如何分别回显文件夹 ID 和文件夹显示名称?
此外,文件夹 displayNames 包含空格。我想我需要使用 base64 编码 + 解码才能正确显示它们。但是我不知道该怎么做。
有人可以指导我吗?谢谢
我的方法是从 gcloud
命令输出 CSV,该命令使用 format="csv(ID,displayName)
提供循环范围以给出逗号分隔的值,然后使用 IFS
和read
将字符串拆分为 2 个字段
在您的 for
循环中,您可以使用:
IFS=, read ID,DISPLAY_NAME <<< ${FOLDER}
IIRC 您可以 --format="csv(ID, displayName.encode(base64))"
编码 displayName
,然后使用 bash 的 base64 --decode
对其进行解码。我在这里 某处有一个例子,它与 gcloud
一起使用,但在我的 phone 上,搜索起来不太容易。
找到了:
顺便说一句,这些函数都被记录在案——尽管不容易找到——如gcloud topic projections