On 16/08/12 08:19, Craig White wrote: > the relevant snippet is... > > NAME="*.mov" cd $IN if test -n "$(find . -maxdepth 1 -name $NAME > -print -quit)" > The problem is the outermost double quotes in the "$(...)" expression and figuring out how to pass the appropriate quotes into the subshell created by the $(). One trick is to let the outer shell do the interpolation first. The following script may be informative: ========================================== #!/bin/bash NAME="*.mov" echo $NAME echo "$NAME" echo $(echo $NAME) echo $(echo "$NAME") echo $(echo \"$NAME\") echo $(echo '$NAME') echo "$(echo $NAME)" echo "$(echo "$NAME")" echo "$(echo \"$NAME\")" echo "$(echo '$NAME')" if test -n "$(find . -name "$NAME")" then echo FOUND IT fi ========================================== Hope this helps, Kal -- Kahlil (Kal) Hodgson GPG: C9A02289 Head of Technology (m) +61 (0) 4 2573 0382 DealMax Pty Ltd (w) +61 (0) 3 9008 5281 Suite 1415 401 Docklands Drive Docklands VIC 3008 Australia "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925