Shell脚本函数
Shell脚本函数应用
Shell脚本函数定义的基本格式如下所示,其中[function]是可选的,表示该函数的功能,这个是可以省略掉的;函数名后面加个(),里面是没有内容的;而我们执行的命令序列放在{}里面的,[return x]的作用是当命令序列执行完后返回给系统的一个值,该项也可以省略。
Shell脚本函数语法格式
[function] 函数名 (){
命令序列
[return x]
}
Shell脚本函数应用示例
(1)、两个数字的求和
方法一、
[root@localhost ~]# vim num01.sh
#!/bin/bash
sum(){
s=`expr 3 + 3`
echo $s
}
sum
[root@localhost ~]# chmod +x num01.sh
[root@localhost ~]# ./num01.sh
6
方法二、
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
s=`expr $1 + $2`
echo $s
}
sum 3 3
[root@localhost ~]# ./demo03.sh
6
方法三、
[root@localhost ~]# vim num02.sh
#!/bin/bash
sum(){
return $(($1 + $2))
}
sum 3 3
echo $?
[root@localhost ~]# chmod +x num02.sh
[root@localhost ~]# ./num02.sh
6
方法四、
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
echo $(($1+$2))
}
res=$(sum 3 3)
echo $res
[root@localhost ~]# ./demo03.sh
6
(2)return和echo的区别
当使用return命令时
[root@localhost ~]# vim demo01.sh
#!/bin/bash
sum(){
return $(($3+$3))
}
res=$(sum 3 3)
echo $?,$res
[root@localhost ~]# ./demo01.sh
6,
当使用echo命令时
[root@localhost ~]# vim demo01.sh
#!/bin/bash
sum(){
echo $(($3+$3))
}
res=$(sum 3 3)
echo $?,$res
[root@localhost ~]# ./demo01.sh
0,6
如果使用运算的话,比如使用乘法运算时就要使用"echo"
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
echo $(($1+$2))
}
res=`expr $(sum 1 2) \* 2`
echo $?,$res
[root@localhost ~]# ./demo03.sh
0,6
结论:在shell函数的应用中,return命令要用 ? 输 出 ; e c h o 命 令 要 用 例 如 “ ?输出;echo命令要用例如“ ?输出;echo命令要用例如“res”(自定义变量);当要进行运算是要用echo命令。