# String test. echo "**** String comparisons." string="In Xanadu did Kublai Khan..." echo -n "test of a string: " if (test "$string") then echo "We have a non-null \$string. Expected." else echo "\$string is null." fi echo -n "test of a string: " if (test $notset) then echo "How did \$notset get a value?" else echo "\$notset has not been set. Expected." fi echo -n "test -z: " if (test -z $notset) then echo "Length of \$notset is zero. Expected." else echo "Length of \$notset is NOT zero." fi # Note quotes around multi-word string. echo -n "test -z: " if (test -z "$string") then echo "Length of \$string is zero." else echo "Length of \$string is NOT zero. Expected." fi echo -n "test -n: " if (test -n "$string") then echo "Length of \$string is NOT zero. Expected." else echo "Length of \$string is zero." fi echo -n "test =: " if (test "$string" = "$string") then echo "Strings are equal. Expected." else echo "Strings are not equal." fi # Tricky one. Notice the difference. echo -n "test =: " if (test "$string" = "$string ") then echo "Strings are equal. " else echo "Strings are not equal. Expected" fi echo -n "test =: " if (test "$string" = "In Xanadu did Kublai Khan...") then echo "Strings are equal. Expected." else echo "Strings are not equal." fi echo -n "test !=: " if (test "$string" != "In Xanadu did Kublai Khan...") then echo "Strings are equal." else echo "Strings are not equal. Expected." fi echo -n "test !=: " if (test "$string" != "$notset" ) then echo "Strings are not equal. Expected." else echo "Strings are equal." fi echo