文章目录
一:什么是shell函数
函数定义:
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
1.1:Shell 函数定义的语法格式如下:
function 函数名(){
命令序列
}
格式1:
简化写法,不写 function 关键字:
函数名(){
函数体
}
格式2:
这是标准写法,也推荐大家使用的写法:
function 函数名(){
命令序列
}
格式3:
如果写了 function 关键字,也可以省略函数名后面的小括号:
function 函数名{
命令序列
}
说明
- unction 是 Shell 中的关键字,专门用来定义函数;可以带function funname () 定义,也可以直接funname
() 定义,不带任何参数; - funname 是函数名;
- 函数体 是函数要执行的代码,也就是一组语句;
- return int 表示函数的返回值,其中 return 是 Shell
关键字,专门用在函数中返回一个值;这一部分可以写也可以不写,如果不加,将以最后一条命令运行结果,作为返回值。
[root@localhost opt]#vim han.sh
#!/bin/bash
sum () {
s=`expr 5 + 5`
echo $s
}
sum
[root@server1 ~]# sh han.sh
10
sum () {
s=`expr $1 + $2`
echo $s
}
sum 5 5
[root@server1 ~]# sh han.sh
10
sum () {
return $(($1 + $2))
}
sum 3 3
echo $?
[root@server1 ~]# sh han.sh
6
function sum(){
#命令序列
read -p "请输入第一个整数: " num1
read -p "请输入第一个整数: " num2
SUM=$[$num1+$num2]
echo "和:$SUM"
}
sum
[root@server1 ~]# sh han.sh
请输入第一个整数: 5
请输入第一个整数: 4
和:9
function sum(){
#命令序列
read -p "请输入第一个整数: " num1
read -p "请输入第一个整数: " num2
SUM=$[$num1+$num2]
echo $SUM
}
tom=`sum 4 2`
let tom+=1
echo $tom
[root@server1 ~]# sh han.sh
请输入第一个整数: 6
请输入第一个整数: 3
9
1.2:函数的作用范围
1.函数在Shell脚本中仅在当前Shell环境中有效
2.ShelI脚本中变量默认全局有效
3.将变量限定在函数内部使用local命令