Thursday, August 23, 2012

Bash script: Stay Out Of Trouble






String Comparison Result 
string1 = string2                                            True if the strings are equal. 
string1 != string2                                          True if the strings are not equal. 
-n string                                                            True if the string is not null. 
-z string                                                            True if the string is null (an empty string).


Arithmetic Comparison Result 
expression1 -eq expression2 True if the expressions are equal. 
expression1 -ne expression2 True if the expressions are not equal. 
expression1 -gt expression2 True if expression1is greater than expression2. 
expression1 -ge expression2 True if expression1is greater than or equal to 
expression2. 
expression1 -lt expression2 True if expression1is less than expression2. 
expression1 -le expression2 True if expression1is less than or equal to 
expression2. 
! expression True if the expression is false, and vice versa.



File Conditional Result 
-d file True if the file is a directory. 
-e file True if the file exists. Note that, historically, the -e option has not 
been portable, so -f is usually used. 
-f file True if the file is a regular file. 
-g file True if set-group-id is set on file. 
-r file True if the file is readable. 
-s file True if the file has nonzero size. 
-u file True if set-user-id is set on file. 
-w file True if the file is writable. 
-x file True if the file is executable. 






Debugging Scripts 


Command Line Option setOption Description 
sh -n

Labels