Parameter to [ or test | Details |
---|---|
File Operators | Details |
-e "$file" | Returns true if the file exists. |
-d "$file" | Returns true if the file exists and is a directory |
-f "$file" | Returns true if the file exists and is a regular file |
-h "$file" | Returns true if the file exists and is a symbolic link |
String Comparators | Details |
-z "$str" | True if length of string is zero |
-n "$str | True if length of string is non-zero |
"$str" = "$str2" | True if string $str is equal to string $str2. Not best for integers. It may work but will be inconsitent |
"$str" != "$str2" | True if the strings are not equal |
Integer Comparators | Details |
"$int1" -eq "$int2" | True if the integers are equal |
"$int1" -ne "$int2" | True if the integers are not equals |
"$int1" -gt "$int2" | True if int1 is greater than int 2 |
"$int1" -ge "$int2" | True if int1 is greater than or equal to int2 |
"$int1" -lt "$int2" | True if int1 is less than int 2 |
"$int1" -le "$int2" | True if int1 is less than or equal to int2 |
There are many comparator parameters available in bash. Not all are yet listed here.