linux shell 学习笔记(四)
2010-07-28 by zhiwei
九、linux中的函数
函数代表一种模块化的设计思想,可以将一些常用的、内聚度高的操作封装成函数,在需要时进行调用。
1. 函数原型
1 2 3 4 | function 函数名()
{
语句
} |
在此,function可以不显示指定。函数应先定义后使用,在调用时只需指定函数名即可,不用写()。
示例:
1 2 3 4 5 6 | #!/bin/bash
function printAddress()
{
echo "your address is: beijing"
}
printAddress |
2. 函数的参数和返回值
在shell函数中,有两种方法使用参数:一种是变量直接传递法,另一种采用位置参数。
变量直接传递法是通过直接在外部声明变量,在函数体里面通过操作这些变量,达到向函数传递参数的目的。
例如:
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash
address="beijing"
function printAddress()
{
echo "your address_1 is: "$address
address="shanghai"
echo "your address_2 is: "$address
}
printAddress
echo "your address_3 is: "$address |
由此可见,函数中进行变量修改也作全局使用,所以可以通过在函数中修改参数变量来达到函数返回目的,将这些参数作为返回值。
通过下面的例子可以更好的了解位置参数:
1 2 3 4 5 6 7 | #!/bin/bash
function printAddress()
{
echo $1
echo $2
}
printAddress "beijing" "shanghai" |
注:以前学习shell时写的笔记,没有拿到电脑前练习过。这次写在博客上的这些都是我在电脑上(ubuntu8.04)练习通过后贴出来的,单引号和双引号类似于php中的单引号和双引号的用法,在用echo进行标准输出时,如果不涉及变量的话双引号、单引号都是可有可无的,还有那个数组赋值与遍历也是让我琢磨不透,所以这些细微差别还是日后慢慢的在实践中掌握比较好。
© 2010, chenzhiwei.net. 版权所有.
本文永久链接:http://chenzhiwei.net/2010/07/linux-shell-study-notes-part-4/

还好有点点基础,能看懂。
你很久没有更新文章了
function 这个函数我在flash用过,不过这样的笔记很好,我也准备这么写出来。做个记录罢了!
哈哈,这个function跟我这两天折腾的js好像哦^_^
以前只做笔记,没在电脑上实践过,现在电脑上练习了一下,感觉shell和我想像中的还是有差别的。
确实,一般是用shell执行命令,运行软件,但是这样玩还是第一次看到呢^_^对了,shell里面可以直接运行python解释器,linux一般都带的有的。
是的,平时很少用到shell编程。