Defaults
Much of my project involves checking if the provided JSON data has needed key-value pairs, and if missing deciding whether to simply skip (which Bash confused me by calling continue in a loop), or salvaging the entry by figuring out if the required data can be obtained from other entries.
ExampleGroup 'from https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html'
# also https://opensource.com/article/17/6/bash-parameter-expansion
Example 'Basic form ${parameter}'
foo="bar"
When call echo "${foo}" # brackets are unecessary in this example
The output should eq "bar"
End
Example 'default value of unset variable is empty string'
When call echo "${foo}"
The output should eq ""
End
Example 'default value is substituted with ${parameter:-default}'
When call echo "${foo:-default value}"
The output should eq "default value"
End
Example 'default value is substituted with ${parameter:-default}'
foo="bar"
When call echo "${foo:-default value}"
The output should eq "bar"
End
Example ':- doesn`t alter the variable`s value'
echo "${foo:-default value}"
When call echo "${foo}"
The output should eq ""
End
Example 'Whereas := does'
echo "${foo:=default value}"
When call echo "${foo}"
The output should eq "default value"
End
End