“资源”字段的值无效:“”。 添加path规则时path模式无效

我想在Google计算引擎中将path匹配规则添加到URL地图。 这是我的命令:

gcloud compute url-maps add-path-matcher myproject-url-map --default-service \ backend-service-wordpress --path-matcher-name root --path-rules "/=backend-\ service-wordpress,/features/=backend-service-wordpress,/pricing/=backend-\ service-wordpress,/blog/=backend-service-wordpress,/\?*=backend-service-wordpress" 

它会抛出这个错误消息:

 ERROR: (gcloud.compute.url-maps.add-path-matcher) There was a problem modifying the resource: - Invalid value for field 'resource': ''. Invalid path pattern 

我不认为我已经在这个命令行中定义了一个空白资源。

我不得不引用一对引号中的--path-rules参数,因为zsh会投诉否则。

这是我想要定义的第一条规则。 在此之后,我将添加一个规则来映射所有/*到另一个后端服务,如下所示:

 gcloud compute url-maps add-path-matcher myproject-url-map --default-service \ backend-service-app --path-matcher-name others --path-rules "/*=backend-service-app" 

这个错误信息是什么? 我的命令有什么问题?

我怀疑这是使用双引号和反斜杠引号的参数 – path规则。 特别是,你不需要反斜杠来引用问号。 请注意以下输出:

 print -r -- "\?" 

同样,双引号内的换行符不需要反斜杠,除非设置了csh_junkie_quotes选项。

zsh可以帮助你自动引用单词。 一种方法是尝试绑定引用区域的关键。 这将引用区域(emacs模式)或视觉select(vi模式)。