Concept Flow - Default values (${var:-default})
Start
Check if var is set and not empty
Use var value
Output
End
The script checks if a variable is set and not empty; if yes, it uses its value, otherwise it uses the default value.
name="" echo "Hello, ${name:-Guest}!" name="Alice" echo "Hello, ${name:-Guest}!"
| Step | Variable 'name' | Condition '${name:-Guest}' | Output |
|---|---|---|---|
| 1 | '' (empty string) | Empty or unset, use default 'Guest' | Hello, Guest! |
| 2 | 'Alice' | Set and not empty, use 'Alice' | Hello, Alice! |
| Variable | Start | After Step 1 | After Step 2 |
|---|---|---|---|
| name | unset | '' (empty string) | 'Alice' |
Syntax: ${var:-default}
If 'var' is unset or empty, use 'default'.
Otherwise, use 'var' value.
Common in scripts to provide fallback values.
Example: echo "${name:-Guest}" prints 'Guest' if name is empty or unset.