Interview Scripting (Bash, Groovy)

What does read -r do, and why is the -r flag important? [Basic]

Answer

read -r tells read not to treat backslashes as escape characters. It is important because paths, regexes, Windows-style strings, and log lines can contain backslashes that must be preserved exactly.

Technical explanation

Without -r, read may remove or alter backslashes, corrupting input data.

Use IFS= read -r line for reliable line-oriented file processing.

Use read -r -a array when intentionally splitting a line into a Bash array.

Hands-on example

printf '%s\n' 'C:\temp\app.log' > paths.txt

while IFS= read -r path; do

printf 'path=%s\n' "$path"

done < paths.txt

Preparing for an interview?

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

← All Scripting (Bash, Groovy) questions