【发布时间】: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
我正在寻找一个单行来获取默认项目 id
gcloud config list core/project
给我
Your active configuration is: [default]
[core]
project = myproject_id
虽然我只想拥有 myproject_id。目标是在脚本中使用结果。
【问题讨论】:
标签: gcloud gcloud-cli
不完全是您指定的 gcloud 命令,但会返回当前配置的项目:
gcloud info |tr -d '[]' | awk '/project:/ {print $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 捕获到环境变量中
感谢上面 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 提示功能。有没有更快的方法?
使用 Google Cloud SDK 266.0.0,您可以使用以下命令:
gcloud config get-value project
【讨论】:
gcloud config list --format='text(core.project)'
【讨论】:
上面回答了获取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} 即可查看输出,然后使用awk、jq 或类似工具获取您需要的内容。
【讨论】: