bash - 如何使用循环保存所有 key 保管库 secret

标签 bash azure command-line azure-keyvault

我有以下代码:

VaultName="ketv1"
declare -a a1=$(az keyvault secret list --vault-name $VaultName --query "[?attributes.expires<='2022-08-30']" -o table)

for i in "${a1[@]}"
do
    echo $i
done

此代码给出输出最后一个 keyvault secret 而不是全部。

KV-SECRET-3

我需要输出,因为所有内容都应该打印如下:

KV-SECRET-1
KV-SECRET-2
KV-SECRET-3

最佳答案

我修改了脚本并在我的环境中使用以下脚本进行了测试,并且运行良好。

#!/bin/bash
VaultName="TestKey32"
declare -a a1=$(az keyvault secret list --vault-name $VaultName --query "join('\n',[].name)" --output tsv)
for i in "${a1[@]}"
do
  echo $i 
done

enter image description here

enter image description here

关于bash - 如何使用循环保存所有 key 保管库 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72820693/

相关文章:

bash - 在 Bash 中,为什么我们可以通过 PS1 ='something' 设置一些环境变量,而其他需要 export SOME_VAR ='something' ?

c# - Azure Bot Framework FormFlow 复杂表单

linux - 我必须学习哪些命令才能成为一名高效的 Linux shell 脚本程序员?

node.js - 找不到快速命令

asp.net - 我正在为我的 ASP.NET MVC 应用程序寻找分布式数据/对象缓存

linux - 如何列出所有 find -perm 结果?

linux - 抑制 du 命令中的 'Permission Denied' 警告

Bash脚本上传文件到hdfs

linux - 查找以 "t"开头的行,以元音继续,总长度为 4

asp.net-mvc - Visual Studio 中我的 Web 应用程序没有转换(到云服务)菜单项