为什么这是gcloud config list project --format 'value(core.project)'
,而不是gcloud config list project --format=value(core.project)
?文档使用=
表示法。我在使用它时得到错误number expected
。我的猜测是,它试图将投影值(core.project)计算为数字,而"告诉它计算为字符串。
我不熟悉zsh
,但如果这样做,bash会返回语法错误unrecognized token '('
。
这不是gcloud
本身的问题。
问题是zsh
(和bash
)壳层对(...)
有自己的解释。在bash中,这是用于子shell的命令。
解决方案是确保将标志值按原样传递给命令,而不是由shell进行评估。
正如@hobbs正确指出的那样,您可以使用'...'
或"..."
正确地包装标志值,而不会出现问题。我的首选是--flag=value
,当使用bash时,当不需要变量扩展时为'...'
,当需要时为"..."
。
我个人的偏好是始终使用=
并默认为"..."
gcloud config list project
--format="value(core.project)"