Interview › Scripting (Bash, Groovy)
What is the difference between $var and ${var}? [Basic]
Answer
$var and ${var} both expand a variable, but braces disambiguate the variable name and enable parameter expansion operations. I use ${var} when appending text, using defaults, slicing, or manipulating strings.
Technical explanation
Without braces, Bash reads the longest valid variable name, which can produce wrong expansions when text follows the variable.
Braces are required for array indexes, string length, defaults, substring operations, and pattern removal.
Consistently using braces can improve readability in production scripts.
Hands-on example
service="api"
echo "$service_worker" # expands variable named service_worker, likely empty
echo "${service}_worker" # prints api_worker
echo "${service:-default}" # default only if unset or empty
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Scripting (Bash, Groovy) interview questions
- What is the purpose of the shebang line, and what does #!/bin/bash do? [Basic]
- What is the difference between sh and bash? [Basic]
- How do you make a script executable and run it? [Basic]
- What is the difference between running a script with ./script.sh, bash script.sh, and source script.sh? [Basic]
- What does sourcing a script do differently from executing it? [Basic]
- How do you declare a variable in Bash, and why are spaces around = not allowed? [Basic]
- What is the difference between single quotes and double quotes in Bash? [Basic]
- Why should you quote variables, and what bug does unquoting cause? [Basic]