cloud zsh"="表示法与字符串表示法



为什么这是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)"

相关内容

  • 没有找到相关文章

最新更新