1> file Comparison:
-d filename checks if filename exists and is a directory
-e filename checks if filename exists
-F filename checks if filename exists and is a file
-r filename checks if filename exists and is readable
-s filename Check if filenmae exists not empty
-W filename checks if filename exists and can be written
-x filename checks if filename exists and executes
-o filename checks if filename exists and is owned by the current user
-G filename checks if filename exists and the default group is the same as the current user
File1-nt file2 Check if file1 is newer than file2
File1-ot file2 Check if file1 is older than file2
2> Numerical comparison
N1-eq n2 Check if N1 is equal to N2
N1-ge n2 Check if N1 is greater than or equal to N2
N1-GT n2 Check if N1 is greater than N2
N1-le n2 Check if N1 is less than or equal to N2
N1-LT n2 Check if N1 is less than N2
N1-ne n2 Check if N1 is not equal to N2
3> string comparison
STR1 = str2 Check if str1 is the same as str2
Str1! = str2 Check if str1 is different from str2
STR1 < str2 Check if STR1 is smaller than str2
str1 > STR2 Check if str1 is larger than str2
-N str1 Check if the length of the str1 is not 0
-Z str2 Check if the length of the str1 is 0
Some comparison tests in the shell condition