和其他编程语言一样,shell程序也支持函数的应用。通过函数将一系列的语句包围起来,通过调用函数名来执行这些语句,免去了在shell程序中书写重复代码的繁琐。
在pdksh/bash中,函数的形式为:
func(){
statements
}
可以通过以下语句来调用一个函数
func param1 param2 param3
函数分析参数的过程和shell程序通过命令行获取命令行参数的过程类似。例如下面这个例子中的Displaymonth()函数通过数字显示月份,当传入一个不属于1~12的数字时,输出错误信息。程序如下:
#!/bin/sh
Displaymonth(){
case $1 in
01 | 1) echo “Month is January”;;
02 | 2) echo “Month is February”;;
03 | 3) echo “Month is March”;;
04 | 4) echo “Month is April”;;
05 | 5) echo “Month is May”;;
06 | 6) echo “Month is June”;;
07 | 7) echo “Month is July”;;
08 | 8) echo “Month is August”;;
09 | 9) echo “Month is September”;;
10) echo “Month is October”;;
11) echo “Month is Novemeber”;;
12) echo “Month is December”;;
*) echo “Invalid parameter”;;
esac
}
Displaymonth 8
‘
程序运行的结果为:
Month is August