My Shell Workflow: Executing a command in lots of directories.

twitter logo github logo Updated on ・1 min read


You want to run a shell command in many directories. For example, in my case, I wanted to execute a shell command in lots of directories(approx. 200) to clean up build files.


Writing a for-loop and running it on the shell did the trick for me.

for d in ./*/ ; do (cd "$d" && mvn clean); done


The above for-loop would run cd "$d" && mvn clean in each item of the directory list defined by the path ./*/. $d holds the directory name. You can be creative in defining the list of directories using a complex glob as well.

I hope this helps you as well.

twitter logo DISCUSS (6)
markdown guide

Thanks! find is something I wish to use more.


Very nearly the same, here's my "inall" script:

$ cat ~/bin/inall
# runs given command (all arugments) in each directory of pwd
# example: in a workspace directory with many subfolders:
# $ inall git status

echo $@
for dir in ${PWD}/*
    if [ -d $dir ]; then
        echo ""
        echo "$dir"
        cd $dir && $@
        cd - > /dev/null
Classic DEV Post from Dec 8 '19

Question regarding "Junior Full Stack Developers"

An anonymous question regarding junior full stack developers.

Shriharsh profile image