Hi Mike, Please add OT to subject ;-)
On Fri, Feb 25, 2011 at 11:21 PM, Mike McClain <mike.j...@cox.net> wrote: > I occasionally have problems with bash variables, for instance > the following command lists (along with everything else) > 2 *.deb files in /home/mike/ > > root@/deb40a:~> FIND1="-maxdepth 1 -type f -print -name '*'"; \ > GREP="-v '\.\(deb\|gz\|tgz\|bz2\|tbz\|zip\)$'"; \ > find /home/mike/ $FIND1 | grep $GREP ; > > while without variables; > root@/deb40a:~> find /home/mike/ -maxdepth 1 -type f -print -name '*' | > grep -v '\.\(deb\|gz\|tgz\|bz2\|tbz\|zip\)$' > does not list the 2 *.deb files. > > In the same vein this command lists nothing: > root@/deb40a:~> FIND="-name '*'"; find /root/bin $FIND > while > root@/deb40a:~> find /root/bin -name '*' > lists 25 files. > > This only bites me once in a while but when it does it can be very > frustrating so any hints / tips are welcome. If you want to view what is happenning here: set -x; # and then exec your sentences You can use set -f to disable file pattern expansion: FIND='-name *'; set -f; find . $FIND; set +f I don't know how you can use quoted "*" inside that variable in find instruction ... maybe comp.unix.shell group could be a better place to be answered your question in a nice way Regards, -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktimuwwnnmlv2f+m_ab3x_-z38gg7eqdt+1iou...@mail.gmail.com