Bash Scripting - LoopsHow can you loop over all directories and their subdirectories recursively in bash?Afor dir in $(ls -d */); do echo "$dir"; doneBfor dir in $(find . -type d); do echo "$dir"; doneCfor dir in */; do echo "$dir"; doneDfor dir in ./*; do echo "$dir"; doneCheck Answer
Step-by-Step SolutionSolution:Step 1: Understand recursive directory listing'find . -type d' lists all directories recursively starting from current directory.Step 2: Use command substitution in loopLooping over '$(find . -type d)' iterates over all directories and subdirectories.Final Answer:for dir in $(find . -type d); do echo "$dir"; done -> Option BQuick 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:MISTAKESUsing '*/' only lists current directoryUsing 'ls' does not recurseNot quoting variables in loops
Master "Loops" in Bash Scripting9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepVisualTryChallengeProjectRecallTime
More Bash Scripting Quizzes Bash Scripting Basics - What a shell script is - Quiz 4medium Bash Scripting Basics - Making scripts executable (chmod +x) - Quiz 3easy Conditionals - Logical operators (-a, -o, !) - Quiz 11easy Conditionals - Logical operators (-a, -o, !) - Quiz 8hard Conditionals - if-then-fi structure - Quiz 3easy Loops - while loop - Quiz 6medium Loops - until loop - Quiz 7medium Quoting and Expansion - Brace expansion ({1..10}) - Quiz 6medium User Input - Prompting with read -p - Quiz 14medium Variables - String variables - Quiz 9hard