Shell脚本中使用function(函数)示例

(编辑:jimmy 日期: 2024/12/26 浏览:2)

函数可以在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

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。