手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >Shell脚本函数定义和函数参数
Shell脚本函数定义和函数参数
摘要:一、Shell函数本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。shell允许将一组命令集或语...

一、Shell函数

本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。

shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数。

shell中函数的定义格式如下:

复制代码 代码如下:函数名(){

command1

command2

...

commandN

[ return value ]

}

如果愿意,可在函数名前加上关键字function,这取决于使用者。

复制代码 代码如下:function 函数名(){

command1

command2

...

commandN

[ return value ]

}

函数返回值,可以显示增加return语句;如果不加,则将最后一条命令运行结果作为返回值(一般为0,如果执行失败则返回错误代码)。 return后跟数值(0-255)。

函数可以放在同一个文件中作为一段代码,也可以放在只包含函数的单独文件中。函数不必包含很多语句或命令,甚至可以只包含一个echo语句,这取决于使用者。

下面的例子定义了一个函数并进行调用:

复制代码 代码如下:

#!/bin/bash

demoFun(){

echo "This is your first shell function!"

}

echo "Function begin..."

hello

echo "Function end!"

输出:

Function begin...

This is your first shell function!

Function end!

下面定义一个带有return语句的函数:

复制代码 代码如下:

#!/bin/bash

funWithReturn(){

echo "The function is to get the sum of two numbers..."

echo -n "Input first number: "

read aNum

echo -n "Input another number: "

read anotherNum

echo "The two numbers are $aNum and $anotherNum !"

return $(($aNum+$anotherNum))

}

funWithReturn

echo "The sum of two numbers is $"

输出类似下面:

The function is to get the sum of two numbers...

Input first number: 25

Input another number: 50

The two numbers are 25 and 50 !

The sum of two numbers is 75 !

函数返回值在调用该函数后通过 $? 来获得。

注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。

二、Shell函数参数

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...

带参数的函数示例:

复制代码 代码如下:

#!/bin/bash

funWithParam(){

echo "The value of the first parameter is $1 !"

echo "The value of the second parameter is $2 !"

echo "The value of the tenth parameter is $10 !"

echo "The value of the tenth parameter is ${10} !"

echo "The value of the eleventh parameter is ${11} !"

echo "The amount of the parameters is $# !"

echo "The string of the parameters is $* !"

}

funWithParam 1 2 3 4 5 6 7 8 9 34 73

输出:

The value of the first parameter is 1 !

The value of the second parameter is 2 !

The value of the tenth parameter is 10 !

The value of the tenth parameter is 34 !

The value of the eleventh parameter is 73 !

The amount of the parameters is 12 !

The string of the parameters is 1 2 3 4 5 6 7 8 9 34 73 !"

注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。

另外,还有几个特殊字符用来处理参数:

【Shell脚本函数定义和函数参数】相关文章:

Shell脚本字符串单引号和双引号的区别浅析

Shell脚本判断IP地址是否合法的方法

shell自定义函数及参数调用解析

shell监控脚本 准备工作分享

Shell脚本中单引号(‘)和双引号(“)的使用区别

Shell脚本学习指南之查找与替换介绍

Shell脚本注释写法

Bash Shell脚本学习小结

101个shell脚本 猜数字游戏代码

Shell脚本编程中常用的数学运算实例

精品推荐
分类导航