我想將路徑匹配規則新增至 google 計算引擎中的 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 可以透過多種方式幫助您自動引用單字。一種方法可能是嘗試將鍵綁定到引用區域。這將引用區域(emacs 模式)或視覺選擇(vi 模式)。