#This works for i in /usr/local/lib/*; do echo $i >> $ldd1; ldd $i | grep "not found" >> $ldd1; done for i in /usr/local/lib/*; do cd $i; for ii in *; do echo $ii >> $ldd1; ldd $ii | grep "not found" >> $ldd1; done; done #This does not work for i in /lib/* /usr/lib/*; do if [ -d $1 ] then cd $1; for ii in *; do if [ -x $ii ] then echo $ii >> $ldd1; ldd $ii | grep "not found" >> $ldd1; fi; done elif [ -x $i ] then echo $i >> $ldd1; ldd $i | grep "not found" >> $ldd1 fi; done