shell中函数调用方式有两种
方式1:函数的所有标准输出都传递给主程序的标量
value_name=`function_name [arg1 arg2 ......]`
Demo:
#!/bin/bash
#定义一个函数fun_countfiles1
fun_countfiles1(){
let "filenum=0"
let "dirnum=0"
for i in $( ls $1 );do
{
if [ -d $i ];then
let dirnum+=1
else
let filenum+=1
fi
}
done
return $filenum
}
fun_countfiles1 '/data01/message/sgs/sgs_2016071410*'
declare filenum1=$?
echo "filenum1:"${filenum1}
unset filenum1
方式2:获取函数返回的状态
function_name [arg1 arg2 ......]
echo $?
Demo:
#!/bin/bash
#定义一个函数fun_countfiles2
fun_countfiles2(){
let "filenum=0"
let "dirnum=0"
for i in $( ls $1 );do
{
if [ -d $i ];then
let dirnum+=1
else
let filenum+=1
fi
}
done
echo ${filenum}
}
declare filenum2=`fun_countfiles2 '/data01/message/sgs/sgs_2016071410*'`
echo "filenum2:"${filenum2}
unset filenum2