shell允许用户定义自己的函数.函数是高级语言中的重要结构.shell中的函数于C或者其他语言中定义的函数一样.与从头开始,一行一行地写程序相比,使用函数主要好处是有利于组织整个程序.在bash中,一个函数的语法格式如下:fname (){ shell comands}定义好函数后,需要在程序中调用他们.bash中调用函数的格式:fname [parm1 parm2 parm3...]调用函数时,可以向函数传递任意多个参数.函数将这些参数看做是存放他的命令行参数的位置变量.举例:这个程序定义了4个函数:upper ():将传递给他的文件中的字母转换成大写,并存放到同名的结尾为.out的文件中.lower ():将传递给他的文件里的字母转换成小写,并存放到同名的结尾为.out的文件中.print ():输出传递给他的文件的内容.usage_error ():输出程序的帮助信息.程序的主模块是个case条件语句,他根据命令行中第一个参数,决定程序要完成的功能,并调用相应的函数完成这一功能.upper (){ shiftfor idotr a-a A-Z<$!>$1.outrm $1mv $1.out $1shiftdone; }lower () { shiftfor idotr A-Z a-z<$1>$1.outrm $1mv $1.out $1shiftdone; }print() { shiftfor idolpr $1shiftdone; }usage_error() { echo " $1 syntax is $1"echo ""echo " where option is one of the following"echo " p--to print frame files"echo " u--to save as uppercase"echo " l--to save as lowercase";}case $1 inp | -p)print $@;;u | -u)upper $@;;l | -l)lower $@;;*) usage_error $0;;esac