What is the difference between single quotes and double quotes?
Assesses fundamental understanding of Shell & Bash conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Single quotes preserve everything literally, while double quotes allow variable expansion, command substitution and some escape sequences.
name="world"
echo 'hello $name' # hello $name
echo "hello $name" # hello world
echo "total: $(wc -l < file)"
The most important habit is to double-quote variable expansions such as "$var", "$@" and "$(cmd)" to prevent word splitting and glob expansion. An unquoted expansion containing spaces becomes several arguments:
files="a b c"
for f in $files; do echo "$f"; done # three iterations
for f in "$files"; do echo "$f"; done # one iteration
Inside double quotes, $, backticks, backslash and, interactively, ! are special. Single-quoted strings have no escapes at all, so including a single quote requires ending the string, escaping and reopening it: 'it'\''s'. The $'...' form enables escape sequences.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.