$# 表示提供到或者函数的参数总数;
$1 表示第一个参数。 -ne 表示 不等于另外:整数比较-eq 等于,如:if ["$a" -eq "$b" ]-ne 不等于,如:if ["$a" -ne "$b" ]-gt 大于,如:if ["$a" -gt "$b" ]-ge 大于等于,如:if ["$a" -ge "$b" ]-lt 小于,如:if ["$a" -lt "$b" ]-le 小于等于,如:if ["$a" -le "$b" ]< 小于(需要双括号),如:(("$a" < "$b"))<= 小于等于(需要双括号),如:(("$a" <= "$b"))> 大于(需要双括号),如:(("$a" > "$b"))>= 大于等于(需要双括号),如:(("$a" >= "$b"))另外:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.文件表达式
-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真-s filename 如果文件长度不为0,则为真-h filename 如果文件是软链接,则为真filename1 -nt filename2 如果 filename1比 filename2新,则为真。filename1 -ot filename2 如果 filename1比 filename2旧,则为真。整数变量表达式-eq 等于-ne 不等于-gt 大于-ge 大于等于-lt 小于-le 小于等于字符串变量表达式If [ $a = $b ] 如果string1等于string2,则为真 字符串允许使用赋值号做等号if [ $string1 != $string2 ] 如果string1不等于string2,则为真 if [ -n $string ] 如果string 非空(非0),返回0(true) if [ -z $string ] 如果string 为空,则为真if [ $sting ] 如果string 非空,返回0 (和-n类似) 逻辑非 ! 条件表达式的相反if [ ! 表达式 ]if [ ! -d $num ] 如果不存在目录$num 逻辑与 –a 条件表达式的并列if [ 表达式1 –a 表达式2 ] 逻辑或 -o 条件表达式的或if [ 表达式1 –o 表达式2 ]cut 在批量处理文件后缀名的妙用:
BUILDTOOL_PATH=~/home/12.0.1/MDS
PACKSPX=$BUILDTOOL_PATH/svnspxex/packspx.py
SCRIPT_DIR=$(pwd)
DIR=$SCRIPT_DIR/packages
mkdir $SCRIPT_DIR/oldpackages
echo "ex-Pack SPX package...."
for i in `ls $DIR/`; do
l= expr length $i;
l=l-4;
# echo l;
j=$(ls $DIR/$i |cut -f 1-5 -d.);
# echo $j;
python $PACKSPX -x $DIR/$i $j;
done
mv $DIR/*.spx $SCRIPT_DIR/oldpackages
mv $DIR/.* $SCRIPT_DIR/oldpackages