mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-12 13:48:06 +00:00
1.5 KiB
1.5 KiB
This operator is used to handle environment variables usage in path expressions. While environment variables can, of course, be passed in via your CLI with string interpolation, this often comes with complex quote escaping and can be tricky to write and read. Note that there are two forms, env
which will parse the environment variable as a yaml (be it a map, array, string, number of boolean) and strenv
which will always parse the argument as a string.
Read string environment variable
Running
myenv="cat meow" yq eval --null-input '.a = env(myenv)'
will output
a: cat meow
Read boolean environment variable
Running
myenv="true" yq eval --null-input '.a = env(myenv)'
will output
a: true
Read numeric environment variable
Running
myenv="12" yq eval --null-input '.a = env(myenv)'
will output
a: 12
Read yaml environment variable
Running
myenv="{b: fish}" yq eval --null-input '.a = env(myenv)'
will output
a: {b: fish}
Read boolean environment variable as a string
Running
myenv="true" yq eval --null-input '.a = strenv(myenv)'
will output
a: "true"
Read numeric environment variable as a string
Running
myenv="12" yq eval --null-input '.a = strenv(myenv)'
will output
a: "12"
Dynamic key lookup with environment variable
Given a sample.yml file of:
cat: meow
dog: woof
then
myenv="cat" yq eval '.[env(myenv)]' sample.yml
will output
meow