Bash expansions
Handy table of Bash expansions.
null
means set and empty, like var=""
.
Parameter is set to the string parameter parameter="parameter"
.
What | Parameter | Result |
---|---|---|
${parameter-word} | unset | word |
${parameter-word} | null | parameter |
${parameter-word} | set nonull | parameter |
${parameter:-word} | unset | word |
${parameter:-word} | null | word |
${parameter:-word} | set nonull | parameter |
${parameter+word} | unset | nothing |
${parameter+word} | null | word |
${parameter+word} | set nonull | word |
${parameter:+word} | unset | nothing |
${parameter:+word} | null | nothing |
${parameter:+word} | set nonull | word |
${parameter?word} | unset | echo word >&2;exit 1 |
${parameter?word} | null | parameter |
${parameter?word} | set nonull | parameter |
${parameter:?word} | unset | echo word >&2;exit 1 |
${parameter:?word} | null | echo word >&2;exit 1 |
${parameter:?word} | set nonull | parameter |