Help on bash script?

Benson Wong tummytech at gmail.com
Fri Aug 12 20:38:35 GMT 2005


I prefer: 

for COREFILE in `find / -type f -name core -print`
do 
  ... 
done

Wouldn't that accomplish the same thing? 


On 8/12/05, Ian Smith <smithi at nimnet.asn.au> wrote:
> On Fri 12 Aug 2005 09:33:54 +0800 Xu Qiang <Qiang.Xu at fujixerox.com> wrote:
> 
>  >              find / -type f -name core -print | while read COREFILE ; do
>  >                      NCOREFILES=$[ $NCOREFILES + 1 ] # a bit strange - xq
>  >                      echo $NCOREFILES # xq
>  >
>  >                      NEWNAME="${HOSTNAME}esscore${NCOREFILES}_${TIMESTAMP}"
>  >                      # record mapping so people can go back and figure out
>  >                      # where they came from
>  >                      echo -e $NEWNAME "    was    " `ls -l $COREFILE` >> $SAVE_DIR/$CORELOG
>  >                      mv $COREFILE $SAVE_DIR/$NEWNAME
>  >
>  >                      echo "There are $NCOREFILES core files." # xq
>  >              done
>  >
>  >      fi
>  >
>  >      # What confused me most is the value $NCOREFILES outside
>  >      # the do-while loop (but still in this function) reverted
>  >      # back to its initial value, which seems contradictory to
>  >      # our concept of local variables. - xq
>  >      #echo $NCOREFILES
> 
> It's been pointed out that the find piped to while runs in a subshell,
> and that changes to variables within aren't seen by its parent, but one
> way around this is to avoid using a pipe, thus a subshell, for instance:
> 
>     find / -type f -name "*.core" -print >tempfile
>     while read COREFILE; do
>         [.. stuff ..]
>         NCOREFILES=$(($NCOREFILES + 1))
>     done <tempfile
>     echo $NCOREFILES
> 
> I use sh, not bash, but suspect that this should work in bash too.
> 
> cheers, Ian
> 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> 


-- 
blog: http://www.mostlygeek.com


More information about the freebsd-questions mailing list