Introduction
Subshells let you run a group of commands together in a separate shell. This keeps your main shell safe from changes like directory moves or variable updates.
You want to change directories temporarily without affecting your current location.
You need to run multiple commands and capture their combined output.
You want to isolate environment changes so they don't affect the rest of your script.
You want to run commands in parallel or background without mixing their environment.
You want to group commands for clearer script structure.