linux基础(二十)----linux编程基础----子程序----函数(3)
- UID
- 1066743
|
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 |
|
|
|
|
|