【问题标题】:Gcloud command line get default project_idGcloud命令行获取默认project_id
【发布时间】:2016-06-06 13:56:59
【问题描述】:

我正在寻找一个单行来获取默认项目 id

gcloud config list core/project 给我

Your active configuration is: [default]
[core]
project = myproject_id

虽然我只想拥有 myproject_id。目标是在脚本中使用结果。

【问题讨论】:

    标签: gcloud gcloud-cli


    【解决方案1】:

    不完全是您指定的 gcloud 命令,但会返回当前配置的项目:

    gcloud info |tr -d '[]' | awk '/project:/ {print $2}'
    

    也适用于帐户、区域和地区。

    【讨论】:

      【解决方案2】:

      最简单的方法是在 gcloud 上使用 --format 标志。

      gcloud config list --format 'value(core.project)' 2>/dev/null

      --format 标志可用于所有命令,让您可以完全控制打印的内容及其格式。

      您可以查看此帮助页面以获取完整信息:gcloud topic formats

      【讨论】:

      • 请注意,这会将一些额外信息打印到标准错误,但实际值会打印到标准输出。我能够使用export PROJECT_ID=$(gcloud config list --format 'value(core.project)') 将项目 ID 捕获到环境变量中
      • 它不会为我打印任何东西到 stderr - 也许这已经改变了?谷歌云 SDK 版本 227
      【解决方案3】:

      感谢上面 Tim Swast 的评论,我能够使用 export PROJECT_ID=$(gcloud config get-value project) 获取项目 ID。

      运行 gcloud config get-value project 在屏幕上打印以下内容:

      Your active configuration is: [default]
      
      my-project-id
      

      您也可以运行 gcloud config get-value project 2> /dev/null 以仅打印项目 ID 并禁止其他警告/错误。

      【讨论】:

      • 您也可以运行gcloud config get-value project 2> /dev/null 仅打印项目 ID 并禁止其他警告/错误。更新了答案。
      • 这也是我找到的最好的方法,但是它很慢,因为gcloud 只是启动很慢。每次调用 2-3 秒,因此(例如)太慢而无法放入 shell 提示功能。有没有更快的方法?
      【解决方案4】:

      从 Cloud Shell 或任何安装了 Cloud SDK 的机器,我们可以使用:

      echo $DEVSHELL_PROJECT_ID
      

      如下图所示。

      【讨论】:

        【解决方案5】:

        使用 Google Cloud SDK 266.0.0,您可以使用以下命令:

        gcloud config get-value project
        

        【讨论】:

          【解决方案6】:

          gcloud config list --format='text(core.project)'

          来源:gcloud Reference

          【讨论】:

            【解决方案7】:

            上面回答了获取project_id的直接简单方法。

            如果您想从gcloud info 获取此信息,这里有一个方法。

            gcloud info --format=flattened | awk '/config.project/ {print $2}'
            

            gcloud info --format=json | jq '.config.project' | tr -d '"'
            

            只需运行gcloud info --format={flattened|json} 即可查看输出,然后使用awkjq 或类似工具获取您需要的内容。

            【讨论】:

              猜你喜欢
              • 2012-10-29
              • 2019-12-20
              • 2022-01-16
              • 1970-01-01
              • 2016-02-01
              • 1970-01-01
              • 1970-01-01
              • 2013-01-29
              • 2020-05-13
              相关资源
              最近更新 更多