shell函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。一般定义格式如下:

fun()
{
 commands
 return value
}

上述语句定义一个名为fun的函数,它的作用是执行里面的命令。

也可以在函数名前加function关键字表明这是一个函数。如:

function fun()
{
 commands
 return value
}

shell中的函数是有返回值的,shell默认是将最后一名命令的执行结果作为返回值的,也可以显式的增加返回语句return value。要获得返回值,则在函数执行后用$?获取。

注意,shell不能直接返回一个字符串,如果非要返回一个字符串,可以在波函数内定义一个变量用来保存要返回的字符串,然后在需要用到它的时候直接获取对应字符串的值。

先来看一个简单的例子:

#!/bin/bash
fun()
{
 echo "This is a function"
}
fun
运行结果 :
This is a function

这是不需要考虑返回值的函数。

接下来看一个带返回值的函数:

#!/bin/bash
fun()
{
 echo "This function returns a value of 5"
 return 5
}
fun
echo "The returned value is $?"

运行结果:

The returned value is 5

注意,shell中调用函数不需要加括号。

0 条评论
发表一条评论