程序员人生 网站导航

bash的比较分类

栏目:服务器时间:2015-05-25 08:40:14
测试方法:
        [ expression ]
        [[ expression ]]
        test expression

bash中经常使用的条件测试:
        1. 整数测试
        2. 文件测试
        3. 字符串比较测试
整数测试:
        -eq:测试两个整数是不是相等;比如 $A -eq $B,如果A与B变量的值相等,则返回0,否则返回非0值
        -nq:测试两个整数是不是不等;相等为假,不等为真
        -gt:测试1个数是不是大于另外一个数;大于为真,否则为假
        -lt:测试1个数是不是小于零1个数;小于为真,否则为假
        -ge:测试1个数是不是大于或等于另外一个数;大于或等于为真,否则为假
        -le:测试1个数是不是小于或等于另外一个数;小于或等于为真,否则为假

        INT1=34
        INT2=44
        [ $INT1 -eq $INT2 ]
        [[ $INT1 -eq $INT2 ]]
        test $INT1 -eq $INT2

        if [ grep "^USERNAME>" /etc/passwd ]; then #这类写法是毛病的
        if grep "^USERNAME>" /etc/passwd ; then #改成这类写法

文件测试:
        -e FILENAME:文件是不是存在
        -f FILENAME:测试文件是不是是普通文件
        -d FILENAME:测试指定路径是不是为目录
        -r FILENAME:测试当前用户对指定文件是不是有读权限
        -w FILENAME:测试当前用户对指定文件是不是有写权限
        -x FILENAME:测试当前用户对指定文件是不是有履行权限

字符串比较测试:
        ==或=:相等性测试,相等为真,不等为假 [ $A == $B ], 等号两端必须有空格
        !=:测试是不是不等,不等威震,相等为假
        >:
        <:
        -z string:测试指定字符串是不是为空,空则真,不空则假
        -n string:测试指定字符串是不是不空,不空为真,空为假
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐