simple (and stupid) shell scripting question

Eray Aslan eray.aslan at caf.com.tr
Mon Feb 15 07:11:31 UTC 2010


On 15.02.2010 08:07, Nerius Landys wrote:
> DIRNAME="`dirname \"$0\"`"
> cd "$DIRNAME"
> SCRIPTDIR="`pwd`"
> 
> What if I got rid of extra double quotes?  Like this:
> 
> DIRNAME=`dirname \"$0\"`
> cd "$DIRNAME"
> SCRIPTDIR=`pwd`
> 
> Does this behave any differently in any kind of case?  Are thes double
> quotes just superfluous?

>From the man page:

Command Substitution
[...]
 If  the  substitution  appears within double quotes, word splitting and
       pathname expansion are not performed on the results.

In other words:

sh-4.0$ touch "x y"
sh-4.0$ for i in `ls`; do echo "$i"; done
x
y
sh-4.0$ for i in "`ls`"; do echo "$i"; done
x y
sh-4.0$

-- 
Eray


More information about the freebsd-questions mailing list