您的位置:首页 > 运维架构 > Shell

shell入门之函数应用 分类: 学习笔记 linux ubuntu 2015-07-10 21:48 77人阅读 评论(0) 收藏

2015-07-10 21:48 621 查看

最近在学习shell编程,文中若有错误的地方还望各位批评指正。

先来看一个简单的求和函数

#!/bin/bash
#a test about function
f_sum 7 8
function f_sum(){
return $(($1+$2));
}
f_sum 3 5;
total=$(f_sum 3 6);
echo $total,$?;




注意几个问题:

1.shell是逐行执行,所以要在函数声明之后才可调用,否则会有错误

2.我们要获得函数的返回值只能通过
$?
来获得,不可以通过变量拿到返回值。

再看看关于变量作用域的测试:

#!/bin/bash
#a test about function
echo $(uname)
num=100
uname(){
echo "my name is lenve"
((num++))
return 250
}
changeVar(){
local num=20
((num++))
echo $num
}
uname;
echo $?
echo $num;
changeVar;
echo $num;


输出:



要点:

1.第一个输出Linux是第一行代码执行的结果,这是调用了系统函数

2.调用uname,系统会优先调用这个脚本中的函数,找到了直接调用,找不到再找系统函数。于是输出my name is lenve

3.250是uname函数的返回值

4.101是由于num在uname函数中自增1导致的

5.21表示如果函数中定义了与函数外部同名的变量,函数内部使用的是内部定义的变量而不是全局变量

6.101进一步佐证了第5点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: