Shell函数
1.将命令序列按格写在一起
2.可方便重复使用命令序列
3.Shell函数定义
[ function ] 函数名(){
命令序列
[ return x ]
}
4.调用函数的方法
函数名 [参数1][参数2]
5.Shell函数应用示例
(1)两个数字求和
要求:通过sum(){}定义函数;
两个数求和
方法一
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
s=`expr 1 + 2`
echo $s
}
sum
[root@localhost ~]# ./demo03.sh
3
方法二
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
s=`expr $1 + $2`
echo $s
}
sum 1 2
[root@localhost ~]# ./demo03.sh
3
方法三
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
return $(($1+$2))
}
sum 1 2
echo $?
[root@localhost ~]# ./demo03.sh
3
方法四
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
echo $(($1+$2))
}
res=$(sum 1 2)
echo $res
[root@localhost ~]# ./demo03.sh
3
(2)return和echo的区别
当使用return命令时
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
return $(($1+$2))
}
res=$(sum 1 2)
echo $?,$res
[root@localhost ~]# ./demo03.sh
3,
当使用echo命令时
[root@localhost ~]# vim demo03.sh
#!/bin/bash
sum(){
echo $(($1+$2))
}
res=$(sum 1 2)
echo $?,$res
[root@localhost ~]# ./demo03.sh
0,3
当要进行一些运算,就比如乘法运算
[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命令要用$?输出;echo命令要用例如“$res”(自定义变量);当要进行运算是要用echo命令。