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

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

我想在 Google Compute Engine 中的 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"

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

答案1

我怀疑这与 --path-rules 参数同时使用双引号和反斜杠引号有关。具体来说,您不需要反斜杠来引用问号。请注意以下输出:

print -r -- "\?"

类似地,除非您设置了 csh_junkie_quotes 选项,否则双引号内的换行符不需要反斜杠。

zsh 有多种方法可以帮助您自动引用单词。一种方法是尝试将某个键绑定到 quote-region。这将引用区域(emacs 模式)或可视选择(vi 模式)。

相关内容