Board logo

标题: linux基础(二十)----linux编程基础----子程序----函数(3) [打印本页]

作者: look_w    时间: 2019-5-11 13:40     标题: 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




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0