- 函数格式
function 函数名()
{
命令集
}
调用函数:函数名 - 可以使用return作为函数的返回状态码
使用函数的返回值注意2点
1.函数一结束就返回
2.返回状态码0-255之间,如果大于256,则返回错误值
function db()
{
read -p "input a value:"value
return value
}
db
echo "The value is $?"
- 使用函数的输出
function db()
{
read -p "input a value:"value
echo ${value}
}
result = `db1`
echo $result
- 向函数中传递参数
function add()
{
echo $(($1+$2))
}
result=`add 20 20`
echo $result
#结果:40
#或者在执行脚本时传递参数
function add()
{
echo $(($1+$2))
}
#执行:bash add.sh 20 10
#结果:30
- 函数中变量
全局变量:全局变量是shell脚本中任何地方都有效的变量,如果你在脚本主体部分中定一个全局变量,则在函数中可以读取其值
function add()
{
value=$(($value*2))
}
value=10
add
echo $value
#执行:bash add.sh
#结果:20
局部变量:在函数中的变量都可以申明为局部变量,只需要在变量前加local
function add()
{
local value
value=$(($value*2))
}
value=10
add
echo $value
#执行:bash add.sh
#结果:10
- 向函数传递数组参数
function array()
{
local newarray
local sum=0
newarray=echo `"$@"`
for i in ${newarray[*]}
do
$sum=$(($sum+$i))
done
echo $sum
}
myarray=(1 2 3 4 5)
arg=`${myarray[*]}`
result=`array $arg`
#执行:bash add.sh
#结果:15