On Aug 16, 2012, at 3:14 PM, Kahlil Hodgson wrote:
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,
---- sort of but the other suggestion was more than sufficient for my purposes.
Interesting that I could have the variable in double quotes inside the double quoted braces and it still worked. I would have never actually tried it.
Thanks
Craig