PowerShell脚本执行gcloud绑定Firestore数据库标签命令报错
解决PowerShell中执行GCP Firestore标签绑定命令的语法错误
问题根源是PowerShell与Bash的转义规则不同:
- Bash用反斜杠
\作为转义字符,所以\(default\)能正确表示包含括号的字符串 - PowerShell的转义字符是反引号
`,原命令里的\(default\)会被PowerShell错误解析,把default\识别成了未知命令
用以下两种方式之一即可修正:
方式一:用PowerShell转义符处理括号
把原命令中的\(default\)替换为`(default`),明确告诉PowerShell括号是字符串的一部分:
gcloud resource-manager tags bindings create --tag-value=$value --parent=//firestore.googleapis.com/projects/$projectID/databases/`(default`) --location=$location
方式二:用双引号包裹参数值
将--parent的整个参数值用双引号包裹,PowerShell会自动解析其中的变量,同时保留括号作为字符串内容:
gcloud resource-manager tags bindings create --tag-value=$value --parent="//firestore.googleapis.com/projects/$projectID/databases/(default)" --location=$location
两种方式都能让命令在PowerShell中正常执行,和Bash、GCP CLI中的效果一致。
内容的提问来源于stack exchange,提问作者Pel - Beginner
相关产品推荐
相关产品推荐

