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