Hello,

There were two approaches offered to my problem

1) changing my script: it runs if the "cd .." is moved from the end of the script into the then clause of the if statement

===============
#! /bin/sh
echo Starting in `pwd`
for hoo in *; do
  echo Found item $hoo
  if [ -d "$hoo" ]; then
    echo Pushing $hoo
    cd $hoo
    $0
    cd ..
  else
    echo Processing file $hoo
  fi
  echo Going to next item
done
echo Finishing in `pwd`
# cd ..  was here in original script
===============

I shall be bold: this strikes me as a bug in bash. Am I off my nut here?



2) use find instead for the traversing of the file hierarchy

===============
find $PWD -type f -execdir processingscript {} \;
===============


I have tried both methods and on a small sample (10,000 files going only 3 deep) and there were no meaningful differences in execution time.

Thanks to all
Bernard Higonnet
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to