知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux shell编程----退出+测试

发布时间:2014-09-05 13:42:46作者:知识屋

Linux shell编程----退出+测试
 
 1 退出状态
    1 在Linux shell编程中,每个命令在脚本完成后都会有一个退出状态
    
    2 退出状态用一个整数值表示,若退出状态为0表示成功,若退出状态非0表示失败。
    
    3 最后一次执行命令的推出状态保存在内配变量"$?"中,我们可以通过echo $?来查看
    
    4 退出状态及其含义
       状态值              含义
          0                    表示运行成功,程序执行未遇到任何问题
         1~255             表示运行失败,脚本命令,系统命令错误或参数传递错误
         126                 找到了命令但无法执行
         127                 未找到要运行的命令
         >128               命令曾被系统强行结束
 
 2 测试
    1 测试命令可用于测试表达式的条件的真假,如果测试条件为真,则返回一个0,如果测试的条件为非假则返回一个非0的值
     
    2 测试命令有两种方式
       1 test expression 
          expression是一个表达式,该表达式可由数字,字符串,文本和文件属性的比较,同时可以加入各种算术,字符串, 文本等运算符。
       2 [ expression ] 
          其中[]是一个启动测试的命令,但是要求在[和]的后面和前面都要有一个空格,这种测试条件是计较常用的,经常和if,while等联用。
 
     3 整数数值的比较
        1 一般的整数比较方式是,假设两个整数为a和b
           [ $a -operator $b ]   // operator是比较符号
 
        2 如果是使用[]比较,那么operator有如下6种
           整数比较运算符                      描述
            [ $a -eq $b ]                  比较a是否和b相等
            [ $a -ge $b ]                  比较a是否大于等于b
            [ $a -gt $b ]                   比较a是否大于b
            [ $a -le $b ]                   比较a是否小于等于b
            [ $a -lt $b ]                    比较a是否小于b
            [ $a -ne $b ]                  比较a是否不等于b
 
     4 字符串比较
        1 同整数运算符一样,Linux中也提供了字符串运算符
        2 字符串运算符表
           字符串运算符                                    描述
               [ string ]                         测试字符串string是否不为空
               [ -n string ]                     测试字符串string是否不为空
               [ -z string ]                     测试字符串是否为空
               [ string1 = string2 ]        测试字符串string1和string2是否相等
               [ string1 != string2 ]       测试字符串string1和string2是否不相等
 
     5 文件操作符
        1 文件的测试操作也有两种方法
           test file_operator file   // file_operator是文件的操作符
           [ file_operator file ]     // file_operator是文件的操作符
 
        2 文件操作符表
            文件运算符                         描述
              [ -d file ]               测试文件file是否为目录
              [ -e file ]               测试文件file是否存在
              [ -f file ]                测试文件file是否为普通文件
              [ -r file ]                测试文件file是否是进程可读文件
              [ -s file ]               测试文件file的长度是否不为0
              [ -w file ]              测试文件file是否是进程可写文件
              [ -x file ]               测试文件file是否是进程可执行文件
              [ -L file ]               测试文件file是否符号化链接
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜