On Wednesday 30 Mar 2011 11:13:58 ali hagigat wrote:

> The following scripts were run for /bin/bash, version 4.0.33, and then
> comes their outputs. In the second example seems to have a warning:
> "binary operator expected". Why the error is generated? and why there
> is no error for the first example?
> ----------------------------------
> var1="word1     word2"
> echo $var1
> if (test -z "\"$var1\"")   then
> echo "first"
> else
> echo second
> fi
> 
> word1 word2
> second
> ----------------------------------
> var1="word1     word2"
> echo $var1
> if (test -z ""$var1"")   then
> echo "first"
> else
> echo second
> fi
> 
> word1 word2
> ./ss1: line 3: test: word1: binary operator expected
> second
> ----------------------------------

Use "set -x" at the beginning of the script and rerun it, and you'll 
immediately see why.

-- 
D.

Reply via email to