[EMAIL PROTECTED] wrote: > Julian Andres Klode: >>>> Find() # dir [ find_args ] >>>> { >>>> - local dir=3D3D"$1" >>>> shift >>>> - find "$dir" -xdev -noleaf $@ >>>> + find "$1" -xdev -noleaf $@ >>>> } > ::: >>> - in Find(), this patch makes $@ to include $1. >> No. This is done via shift. shift removes $1 from $@ and makes $1 to be t= >> he same >> as $2 was previously. > > I see. > So your first parameter for 'find' becomes incorrect, doesn't it? OK. Overlooked. Simply do the same as suggested for List() > > >>> - in List(), the variable 'arg' should be local. >> Your script uses /bin/sh. By definition, /bin/sh on a Linux system is a >> POSIX-compatible shell. And POSIX shells do not support local variables, = >> only >> global ones. > > I tested in on debian etch system with dash as /bin/sh. > dash is posix compliant, isn't it? Yes it is, but it also defines some (additional) non-POSIX functions. One of these functions is local. > > > Junjiro Okajima
-- Julian Andres Klode, Fellow of the Free Software Foundation Europe Debian Maintainer | Developer | Ubuntu Member try Debian: http://www.debian.org/ | my site: http://jak-linux.org/ jabber: [EMAIL PROTECTED] | IRC: juliank (FreeNode, OFTC) languages: German | English
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/