Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

shell程序设计的语法 -- <条件测试>

Posted on 2008-08-19 19:01 Prayer 阅读(168) 评论(0)  编辑 收藏 引用 所属分类: Shell

条件测试是程序设计中不可缺少的一部分.以下就是shell程序设计中常见的条件测试方法. 
    “test”或”[ ]”命令:使用这二个命令用来测试条件是真还是假.使用方法:
    if test –f file.c 或 if [ -f file.c ]
    then … then …
    fi fi
    当条件满足(即为真)时,则执行then后面的语句.

 


    注意在使用方括号”[]”来测试条件时,方括号要与测试条 件之间留出空格.

    测试条件分类:字符串比较类\算术比较类\与文件相关的条件测试类
    字符串比较类:

 

    string1 = string2 如果两字符串相同,则结果为真

 


    string1 != string2 如果两字符串不相同,则结果为真

 


    -n string 如果字符串不是空,则结果为真

 


    -z string 如果字符串是空,则结果为真


    注意在比较相等或不等的时侯,=/!=的两边要与比较的两字符串要有空格符相隔开

-a 逻辑与,操作符两边均为真,结果为真,否则为假。
-o 逻辑或,操作符两边一边为真,结果为真,否则为假。
! 逻辑否,条件为假,结果为真。


    算术比较类:
    expression1 –eq expression2 如果两个表达式相等,则结果为真

    expression1 –ne expression2 如果两个表达式不等,则结果为真 

    expression1 –gt expression2 如果前一个表达式大于后一个表达工,则结果为真

    expression1 –ge expression2 如果前一个表达式大于或等于后一个表达工,则结果为真

    expression1 –lt expression2 如果前一个表达式小于后一个表达工,则结果为真

    expression1 –le expression2 如果前一个表达式小于或等于后一个表达工,则结果为真

    ! expression 取表达式的非,即表达式为假,则结果为真


    与文件有关的文件测试类:
    文件条件测试 结果
    -d file 如果文件是一个子目录,则结果为真
    -e file 如果文件存在,则结果为真
    -f file 如果文件是一个普通文件,则结果为真
    -g file 如果文件的set-group-id被设置,则结果为真
    -r file 如果文件可读,则结果为真
    -s file 如果文件的长度不为0,则结果为真
    -u file 如果文件的set-user-id被设置,则结果为真
    -w file 如果文件可写,则结果为真
    -x file 如果文件可执行,则结果为真

 


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理