string comparison
=
    is equal to
    if [ "$a" = "$b" ]
==
    is equal to
    if [ "$a" == "$b" ]
    This is a synonym for =.
    Note
    The == comparison operator behaves differently within a double-brackets test than within single brackets.
    [[ $a == z* ]]# True if $a starts with an "z" (pattern matching).
    [[ $a == "z*" ]] # True if $a is equal to z* (literal matching).
    [ $a == z* ]     # File globbing and word splitting take place.
    [ "$a" == "z*" ] # True if $a is equal to z* (literal matching).
!=
    is not equal to
    if [ "$a" != "$b" ]
    This operator uses pattern matching within a [[ ... ]] construct.
<
    is less than, in ASCII alphabetical order
    if [[ "$a" < "$b" ]]
    if [ "$a" \< "$b" ]
    Note that the "<" needs to be escaped within a [ ] construct.
>
    is greater than, in ASCII alphabetical order
    if [[ "$a" > "$b" ]]
    if [ "$a" \> "$b" ]
    Note that the ">" needs to be escaped within a [ ] construct.
    See Example 26-11 for an application of this comparison operator.
-z
    string is "null", that is, has zero length
-n
    string is not "null".
Caution	
    The -n test absolutely requires that the string be quoted within the test brackets. Using an unquoted string with ! -z, or even just the unquoted string alone within test brackets (see Example 7-6) normally works, however, this is an unsafe practice. Always quote a tested string. [1]
 
	
Partager