首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

linux基础(二十)----linux编程基础----子程序----函数(3)

linux基础(二十)----linux编程基础----子程序----函数(3)

从函数返回信息
    函数就像一条双行道,程序可以发送信息给函数,函数可以回送信息给程序。比如说,不是用函数verify验证一个用户的ID和密码是否正确,而是让函数将它处理后的结果返回给调用程序。
那么,调用程序就要决定它下面该如何操作。
    函数的返回值通常存储在变量$?中。但要注意,返回值必须是在0到256之间的一个整数。因此,是不能将字符串作为返回值返回的。
    通常是用一个关键字return,再在其后加上一个要返回的值的方式,从函数返回一个值。
由于返回值是一个整数,因此必须给每一个要返回的整数赋予一定的含义。例如,常用0表示函数运行正常,用非0表示函数运行出错。
    关键字return可以放在函数中的任意位置,但它通常放在函数验证某些值-----如比较ID和密码的位置之后。Linux执行到return之后,函数就停止往下执行,返回到主程序的调用行。
若想知道如何从函数返回一个值,请看下面的例子:

#!/bin/bash
clear
function verify
{
    if [$# -ne  2]
        then
              return 1
      else
          if  [$1 -eq "Bob"]&&[$2 -eq "555"]
                then
                    return 0
                  else
                    return  2
              echo "Rejected"
          fi
    fi
}
verify Bob 555
                              case  $? in


       do
       0)
         echo "Verified"
        ;;
       1)
         echo "Wrong number of arguments!"
        ;;
       2)
         echo "Rejected"
        ;;
done
返回列表