我正在寻找一个 gcloud
一行命令来获取默认的项目 ID ($GCP_PROJECT_ID
)。
list
命令给了我:
gcloud config list core/project
#=>
[core]
project = $GCP_PROJECT_ID
Your active configuration is: [default]
虽然我只想要以下输出:
gcloud . . .
#=>
$GCP_PROJECT_ID
我正在寻找一个 gcloud
一行命令来获取默认的项目 ID ($GCP_PROJECT_ID
)。
list
命令给了我:
gcloud config list core/project
#=>
[core]
project = $GCP_PROJECT_ID
Your active configuration is: [default]
虽然我只想要以下输出:
gcloud . . .
#=>
$GCP_PROJECT_ID
感谢上面Tim Swast的评论,我得以使用:
export PROJECT_ID=$(gcloud config get-value project)
获取项目ID。运行get-value
命令会打印以下内容:
gcloud config get-value project
#=>
Your active configuration is: [default]
$PROJECT_ID
您也可以运行:
gcloud config get-value project 2> /dev/null
只需打印$PROJECT_ID
并抑制其他警告/错误。
最简单的方法是使用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使用 Google Cloud SDK 266.0.0 版本,您可以使用以下命令:
gcloud config get-value project
从Cloud Shell或任何安装了Cloud SDK的计算机上,我们可以使用以下命令:
echo $DEVSHELL_PROJECT_ID
如下截图所示。
我有一个关于如何设置环境变量$DEVSHELL_PROJECT_ID的问题,下面是具体步骤:
project
并且它被设置为某个项目id,那么环境变量 $DEVSHELL_PROJECT_ID 通常会被设置为该项目id。project
,我们可以从Combobox(位于标题 Google Cloud Platform
旁边)选择项目,这将在URL中设置变量 project
。我们可能需要重新启动Cloud Shell或刷新整个网页才能设置环境变量 $DEVSHELL_PROJECT_ID。gcloud config set project PROJECT_ID
$DEVSHELL_PROJECT_ID
在安装了Cloud SDK的计算机上默认情况下似乎没有被设置。您能否提供一些关于$DEVSHELL_PROJECT_ID
的支持信息来更新这个答案? - Mike虽然不是你指定的gcloud命令,但我会返回当前已配置的项目:
gcloud info |tr -d '[]' | awk '/project:/ {print $2}'
同样适用于账户、区域和地域。
上面已经回答了获取默认$PROJECT_ID
的直接简单方式。
如果您想从info
命令中获取$PROJECT_ID
,以下是一种方法:
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
或类似的工具来提取所需内容。
gcloud config get-value project 2> /dev/null
以仅打印项目 ID 并抑制其他警告/错误。已更新答案。 - Nikhil Jindalgcloud
启动速度很慢。每次调用需要2-3秒钟,因此(例如)太慢了,无法放入shell提示符函数中。有更快的方法吗? - GaryO