#!/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}


北京小辉微信公众号

Shell教程(六)--函数_shell


大数据资料分享请关注