【发布时间】:2020-10-09 19:51:08
【问题描述】:
我正在尝试自动删除 GCP 项目中以特定文本模式结尾的 SSL 证书。
为此,我使用命令:
gcloud compute ssl-certificates list --filter="name~'819$'" --format="(name)"
哪个输出正好显示这种格式:
NAME
certname1-1602160819
certname2-1602160819
certname3-1602160819
...and so on
问题是,如果我想使用此命令的结果然后使用它输入另一个删除每个证书的gcloud 命令,我将第一个变量作为 NAME,它是字段标题,显然不是证书.
这是我的脚本:
#!/bin/bash
for oldcert in $( gcloud compute ssl-certificates list --filter="name~'819$'" --format="(NAME)")
do
gcloud compute ssl-certificates delete $oldcert
done
您知道如何从输出中获取字段名称 NAME,以便我可以直接在另一个命令中处理每个结果。
感谢您的宝贵建议
【问题讨论】:
-
你可以使用tail。例如
for oldcert in $(gcloud ... list | tail -n +2) -
似乎也有无标题格式说明符,例如
csv[no-heading](name)
标签: google-cloud-platform gcloud