Interview › Scripting (Bash, Groovy)
What is process substitution (<(...)), and when is it useful? [Intermediate]
Answer
Process substitution, such as <(command), gives a command a file-like path connected to another command's output. It is useful when a tool expects filenames but the data is produced dynamically.
Technical explanation
It avoids temporary files for comparisons, joins, and tools that take file arguments.
It is a Bash feature and may not be available in POSIX sh.
The shell typically implements it with /dev/fd or named pipes depending on the system.
Hands-on example
diff <(sort old.txt) <(sort new.txt)
comm -12 <(sort desired_users.txt) <(cut -d: -f1 /etc/passwd | sort)
kubectl diff -f <(helm template myapp ./chart)
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
- 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]