On Wed, Jun 25, 2025 at 17:47:31 +0000, Wartik, Steven P "Steve" via Bug
reports for the GNU Bourne Again SHell wrote:
> After many years of staring at the Bash Reference Manual, I just noticed a
> typo in Section 3.5.3 (Shell Parameter Expansion):
>
> [cid:[email protected]]
>
> The parameter in the echo command is missing a colon. It should be:
>
> $ echo ${v:-unset}
Both of those are valid syntax, and they have *slightly* different
meanings.
${v-unset} expands to the value of "v" if it has any value assigned,
otherwise the literal string "unset".
${v:-unset} expands to the value of "v" if it has any value assigned
other than the empty string, otherwise the literal string "unset".
When performing a test of whether a variable is defined or undefined,
you want the no-colon form ${var-x}. Presumably that's what the
example is doing, so the example is correct.