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