Shell teaching - function

Disclaimer: This article is a blogger original article, the source is http://blog.csdn.net/silentwolfyh https://blog.csdn.net/silentwolfyh/article/details/89354338
#!/usr/bin/env bash

:<<EOF
    Shell 函数
EOF

##########################
#[ function ] funname [()]
#{
#    action;
#    [return int;]   #返回值只能为int
#}
##########################

#函数demo
demoFun(){
    echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun
echo "-----函数执行完毕-----"

#函数放回值处理
funWithReturn(){
    echo "这个函数会对输入的两个数字进行相加运算..."
    echo "输入第一个数字: "
    read aNum
    echo "输入第二个数字: "
    read anotherNum
    echo "两个数字分别为 $aNum 和 $anotherNum !"
    return $(($aNum+$anotherNum))
}
echo "-----funWithReturn函数开始执行-----"
#funWithReturn
echo "输入的两个数字之和为 $? !"
echo "-----funWithReturn函数开始执行-----"

#函数参数处理
funWithParam(){
    echo "第一个参数为 $1 !"
    echo "第二个参数为 $2 !"
    echo "第十个参数为 $10 !"
    echo "第十个参数为 ${10} !"
    echo "第十一个参数为 ${11} !"
    echo "参数总数有 ==> $# 个!"
    echo "作为一个字符串输出所有参数 ==> $* !"
    echo "脚本运行的当前进程ID号 ==> $$ !"
    echo "后台运行的最后一个进程的ID号 ==> $! !"
    echo "显示Shell使用的当前选项,与set命令功能相同 ==> $- !"
    return 123
}
funWithParam 1 2 3 4 5 6 7 8 9 10 11
echo "打印返回值 $? !"

#接收函数返回值
function test()
{
    echo "arg1 = $1"
    if [ $1 = "1" ] ;then
        echo "19010"
    else
        echo "0"
    fi
}
echo "test 1"
vul=$(test 1)
echo ${vul}


#接收函数放回的输出值
q_all_upper()
{
   field=$1
   echo "upper("$field")"
}

field1=` echo $(q_all_upper  phone_number)`
echo "field1==>"${field1}

Guess you like

Origin blog.csdn.net/silentwolfyh/article/details/89354338