Bird
0
0

How can you loop over all directories and their subdirectories recursively in bash?

hard🚀 Application Q9 of 15
Bash Scripting - Loops
How can you loop over all directories and their subdirectories recursively in bash?
Afor dir in $(ls -d */); do echo "$dir"; done
Bfor dir in $(find . -type d); do echo "$dir"; done
Cfor dir in */; do echo "$dir"; done
Dfor dir in ./*; do echo "$dir"; done
Step-by-Step Solution
Solution:
  1. Step 1: Understand recursive directory listing

    'find . -type d' lists all directories recursively starting from current directory.
  2. Step 2: Use command substitution in loop

    Looping over '$(find . -type d)' iterates over all directories and subdirectories.
  3. Final Answer:

    for dir in $(find . -type d); do echo "$dir"; done -> Option B
  4. Quick Check:

    Use 'find' with '-type d' for recursive directories = C [OK]
Quick Trick: Use 'find . -type d' to get all directories recursively [OK]
Common Mistakes:
MISTAKES
  • Using '*/' only lists current directory
  • Using 'ls' does not recurse
  • Not quoting variables in loops

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Bash Scripting Quizzes