【问题标题】:gcp bash script in cloud shell terminal云外壳终端中的 gcp bash 脚本
【发布时间】:2021-08-31 09:26:07
【问题描述】:

我想实现在我的组织中启用的 GCP API 清单,所以我想在我的云 shell 终端中使用 bash 脚本。 下面的代码有效,但是当我还想在数组中组织结果(使用列项目和 API)时,它不起作用。 例如,当我将 gcloud 命令放入 bash 变量时,它不起作用 'services=gcloud 服务列表 --enabled --project $project'

#!/bin/bash
  for project in  $(gcloud projects list --format="value(projectId)")
       do
         echo "ProjectId:  $project"
         gcloud services list --enabled --project $project
   done

【问题讨论】:

  • 嗨,托马斯,欢迎来到 StackOverflow。你说它不起作用是什么意思?你有错误,或者不是预期的结果?
  • 你好 Guillaume,没有错误,但不是预期的输出格式。我希望“gcloud 服务列表”结果的“项目 ID”一侧,以便以后使用 excel。

标签: bash google-cloud-platform gcloud script


【解决方案1】:

我有一个带有额外嵌套循环的解决方案

#!/bin/bash
  for project in  $(gcloud projects list --format="value(projectId)")
       do
         for api in $(gcloud services list --enabled --project $project --format='value(NAME)')
           do
             echo "${project},${api}"
           done 
       done

它是CSV格式,以后用Excel应该很容易阅读。

【讨论】:

  • 是的,工作正常,谢谢!您只是在“--format='value(NAME)')”之前忘记了“--project $project”
  • 正确,我添加了它。我只测试了一个项目;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多