'resource' 필드 값이 잘못되었습니다: ''. 경로 규칙을 추가할 때 잘못된 경로 패턴

'resource' 필드 값이 잘못되었습니다: ''. 경로 규칙을 추가할 때 잘못된 경로 패턴

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-ruleszsh가 그렇지 않으면 불만을 표시하므로 매개변수를 한 쌍의 따옴표로 묶어야 합니다 .

이것이 제가 정의하고 싶은 첫 번째 규칙입니다. 이어서 /*다음과 같이 모든 것을 다른 백엔드 서비스에 매핑하는 규칙을 추가하겠습니다 .

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 모드)을 인용합니다.

관련 정보