linux shell函数使用

  • 函数格式
    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

你可能感兴趣的:(linux-shell)