函数可以在shell script当中做一个类似自定义执行命令,最大的功能就是可以简化我们很多的程序代码。需要注意的是shell script的执行方式是由上而下/由左而右,因此在shellscript当中的function的设置一定要在程序的最前面,这样才能够在执行时被找到可用的程序段。
#!/bin/bash # Program # This program is to show the use of "function" # History # 2013/5/4 by Lvcy First release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/loacl/sbin:~/bin export PATH #输出统一信息 function printInfo () { echo -n "Your choice is " } #将小写字符转换为大写字符 function dotr() { tr 'a-z' 'A-Z' } read -p "Please input your choice(one|two|three|four):" num #用case做条件判断 case $num in "one") printInfo; echo $num | dotr ;; "two") printInfo; echo $num | dotr ;; "Three") printInfo; echo $num | dotr ;; "four") printInfo; echo $num | dotr ;; esac exit 0
下面是一个一般的带有function函数的shell脚本:
#!/bin/bash # Program # This program is show the params of function # History # 2013/5/14 by Lvcy First release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH function printInfo() { echo "Your choice is $1" } case $1 in "one") printInfo 1 ;; "two") printInfo 2 ;; "three") printInfo 3 ;; "four") printInfo 4 ;; esacexit 0
若以上文件名为sh02.sh,则执行这个script的命令为:
sh sh02.sh one