0
0
Bash Scriptingscripting~5 mins

Default values (${var:-default}) in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What does the expression ${var:-default} do in bash scripting?
It checks if the variable var is set and not empty. If var is unset or empty, it uses the default value instead.
Click to reveal answer
intermediate
How does ${var:-default} differ from ${var-default} in bash?
${var:-default} uses the default if var is unset or empty, while ${var-default} uses the default only if var is unset (empty is allowed).
Click to reveal answer
beginner
Write a bash command using ${var:-default} to print the value of name or 'Guest' if name is empty or unset.
echo "Hello, ${name:-Guest}!"
Click to reveal answer
intermediate
What happens if var is set to an empty string and you use ${var:-default}?
The expression treats var as empty and returns default because :- checks for unset or empty.
Click to reveal answer
intermediate
Can ${var:-default} change the value of var?
No, it only returns the default value if var is unset or empty but does not assign it to var. To assign, use ${var:=default}.
Click to reveal answer
What will echo ${user:-anonymous} print if user is unset?
Aanonymous
Bempty line
Cuser
Derror
If var="" (empty string), what does echo ${var:-default} output?
Adefault
Bempty line
Cvar
Derror
Which expression assigns the default value to var if it is unset or empty?
A${var:=default}
B${var:-default}
C${var-default}
D${var=default}
What does ${var-default} do differently from ${var:-default}?
AUses default only if var is unset, not if empty
BUses default if var is empty only
CAlways uses default
DAssigns default to var
What will echo ${var:-"No value"} print if var="Hello"?
AHello
BNo value
Cempty line
Derror
Explain how the bash expression ${var:-default} works and when it is useful.
Think about how to avoid errors when variables might be empty.
You got /4 concepts.
    Describe the difference between ${var:-default} and ${var:=default} in bash scripting.
    One changes the variable, the other just returns a value.
    You got /4 concepts.