Friday, February 10, 2012

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/

Comments

7 Responses to “linux shell 学习笔记(四)”
  1. 瓜瓜 说道:

    还好有点点基础,能看懂。

  2. dengmin 说道:

    你很久没有更新文章了

  3. 等待思索 说道:

    function 这个函数我在flash用过,不过这样的笔记很好,我也准备这么写出来。做个记录罢了!

  4. Mucid 说道:

    哈哈,这个function跟我这两天折腾的js好像哦^_^

Speak Your Mind