Shell脚本中使用function(函数)示例
程序员文章站
2023-12-30 21:19:34
函数可以在shell script当中做一个类似自定义执行命令,最大的功能就是可以简化我们很多的程序代码。需要注意的是shell script的执行方式是由上而下/由左而右...
函数可以在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
;;
esac
exit 0
若以上文件名为sh02.sh,则执行这个script的命令为:
复制代码 代码如下:
sh sh02.sh one