Valor no válido para el campo 'recurso': ''. Patrón de ruta no válido al agregar reglas de ruta

Valor no válido para el campo 'recurso': ''. Patrón de ruta no válido al agregar reglas de ruta

Quiero agregar reglas de coincidencia de rutas a un mapa de URL en Google Compute Engine. Aquí está mi comando:

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"

arroja este mensaje de error:

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

No creo haber definido un recurso en blanco en esta línea de comando.

Tengo que citar los parámetros --path-rulesentre comillas porque zsh se quejará de lo contrario.

Esta es la primera regla que quiero definir. Después de esto, agregaré una regla para asignar todo /*a otro servicio backend, así:

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

¿Qué significa este mensaje de error? ¿Qué pasa con mi comando?

Respuesta1

Sospecho que tiene algo que ver con el uso de comillas dobles y comillas invertidas para el argumento de --path-rules. En particular, no es necesaria la barra invertida para citar el signo de interrogación. Tenga en cuenta el resultado de:

print -r -- "\?"

De manera similar, las nuevas líneas dentro de las comillas dobles no necesitan una barra invertida a menos que tenga configurada la opción csh_junkie_quotes.

Hay varias formas en que zsh puede ayudarte a citar palabras automáticamente. Una forma es quizás intentar vincular una clave a la región de cotización. Esto citará la región (modo emacs) o la selección visual (modo vi).

información relacionada