Interview › Scripting (Bash, Groovy)
What is the difference between > , >> , and 2> redirection? [Intermediate]
Answer
> redirects stdout and overwrites the target file, >> redirects stdout and appends, and 2> redirects stderr. I use them deliberately so output, logs, and errors go to the correct destination.
Technical explanation
stdout is file descriptor 1 and stderr is file descriptor 2.
Overwriting with > can destroy existing files, so use it only when replacement is intended.
For operational scripts, redirect stdout and stderr separately when logs need to distinguish normal output from errors.
Hands-on example
echo "new report" > report.txt
printf 'another line\n' >> report.txt
curl -fsS https://bad.example 2> error.log
command > stdout.log 2> stderr.log
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 $var and ${var}? [Basic]
- What is the difference between single quotes and double quotes in Bash? [Basic]