shell中的条件表达

753阅读 0评论2011-07-30 rayzhang11
分类:

1. 相当于?:
[ -d prog.c ] && echo yes || echo no

2. 设置环境变量
#! /bin/bash
# /home/yan/showenv
if [ $# -ne 1 ];then
   echo“usage:showenv
else
   env=`set |grep $ 1`
   if [ -z $env ];then
      echo“Don't set env $1”
    else
      echo $env
    fi
fi

3. test condition 或者 [condition]
逻辑关系:
-a
-o

对文件操作:
-d
-f
-r
-w
-x
-s 当文件长度大于0,返回true
-z
-L 文件为链接文件时,返回true

对字符串操作:
=
!=
-z
-n
-eq
-lt
-gt
-le
-ge
[ "100" -le "100" -a "123" -gt "1" ]

累加器:
loop=0
loop=`expr $loop + 1`

模式匹配:
value=accounts.doc
expr $value : '.*'   计算字符串的长度结果为12
expr $value : '\(.*\).doc' 匹配accounts

上一篇:没有了
下一篇:linux中的test用法