# Notice: this is executed within /bin/ksh
############# format #############
if [ $condition ]
then
...
elif [ ]
...
else
...
fi
if /usr/bin/id | /usr/bin/grep 'uid=0(' > /dev/null 2>&1
then
: # empty statement
else
...
fi
############# arithmetical comparison #############
ZERO=0
ONE=1
TWO=2
THREE=$((ONE+TWO)) # or, ((THREE = $ONE + $TWO))
echo $THREE
if ((THREE > TWO)) # arithmetical comparison
then
echo "$THREE > $TWO"
fi
if ((THREE = 3)) # arithmetical comparison
then
echo "$THREE = 3"
fi
############# regular express comparison #############
X=class2
if [[ $X == class[0-9] ]]
then
echo "$X == class[0-9]"
fi
if [[ $X == *2 ]]
then
echo "$X == *2"
fi
if [[ $X == class* ]]
then
echo "$X == class*"
fi
############# string comparison #############
[ $# -ne 1 ]
[ $AAA = STR ]
[ $AAA = "STR" ]
[ "x${AAA}" = "xSTR" ]
Digital Compare
[ int1 -eq int2 ]
[ int1 -ne int2 ]
[ int1 -gt int2 ] >
[ int1 -ge int2 ] >=
[ int1 -lt int2 ] <
[ int1 -le int2 ] <=
String Compare, (Suppost string not empty)
[ "$1" = "y" ]
[ "$1" != "Y" ]
[ -n string ] Len of string > 0
[ -z string ] Len of string = 0
Logital Operator
AND [ $expr1 -a $expr2 ]
OR [ $expr1 -o $expr2 ]
NOT [ ! $expr2 ]
# check that list file exists
[ ! -f $AHESOURCE ] && echo " File Existed"
[ ! -s $AHESOURCE ] && echo " File Existed, and NOT empty file"
[ ! -d $AHESOURCE ] && echo " Directory Existed"
[ ! -r $AHESOURCE ] && echo " File Readable"
[ ! -w $AHESOURCE ] && echo " File Writable"
[ ! -x $AHESOURCE ] && echo " File Executable"