Dado um arquivo YAML, example.yaml
:
services:
api:
image: myImage
ports:
- 8080:8080
environment:
- "TEST_STRING_WITH_SPACE=?"
Preciso substituir o TEST_STRING_WITH_SPACE
valor da variável de ambiente por um parâmetro de string de múltiplas palavras. O esperado é assim:
services:
api:
image: myImage
ports:
- 8080:8080
environment:
- "TEST_STRING_WITH_SPACE=With Space"
Estou usando yq
a ferramenta, versão:
yq (https://github.com/mikefarah/yq/) version v4.44.5
Quando tento definir um valor com uma string sem espaço, funciona:
yq '.services.api.environment[0] = "TEST_STRING_WITH_SPACE='$(echo "WithoutSpace")'"' example.yaml
Mas, quando tento definir um valor com uma string com espaço, não funciona:
yq '.services.api.environment[0] = "TEST_STRING_WITH_SPACE='$(echo "With Space")'"' example.yaml
Recebi o erro:
Erro: 1:32: texto de entrada inválido ""TEST_STRING_WIT..."
Como consertar isso?