1、函数传入参数[oracle@rhel6 zxx_shell]$ cat 2-function.sh#!/bin/bashfunction show_week(){ local week1=$1 #表示将第一个参数传给本地变量week1 local week2=$2 #表示将第二个参数传给本地变量week2 declare -i total #表示声明一个整型变量 let total=$week1*$week2 #将变量week1和变量week2的乘积赋值给total echo "week1=$week1" echo "week2=$week2" echo "total=$total"}show_week 3 4 #调用函数,调用时传入参数[oracle@rhel6 zxx_shell]$ ./2-function.shweek1=3week2=4total=12
2、函数通过全局变量返回值[oracle@rhel6 zxx_shell]$ cat 2-function.sh#!/bin/bashtotal= #全局变量function show_week(){ local week1=$1 #local 表示本地变量 local week2=$2 total=$[$week1*$week2] #赋值给全局变量} num1=3 show_week $num1 "4" echo "================="$total[oracle@rhel6 zxx_shell]$ ./2-function.sh=================12
3、函数通过echo返回值[oracle@rhel6 zxx_shell]$ cat 2-function.sh#!/bin/bashfunction show_week(){ local week1=$1 local week2=$2 let total=$week1*$week2 echo $total #通过echo标准输出返回函数值} num1=3 num2=$(show_week $num1 "4") #调用函数并将函数返回值赋值给变量 echo "================="$num2[oracle@rhel6 zxx_shell]$ ./2-function.sh=================12
4、函数相观立挛蛴互调用[oracle@rhel6 zxx_shell]$ cat 2-function.sh垆杪屑丝#!/bin/bashtotal=function show_week(){ local week1=$1 local week2=$2 total=$[$week1*$week2]}function getvalue(){ num1=$1 num2=$2 show_week $num1 $num2 #调用show_week函数 echo "=================$total" #注意调用函数getvalue时,不 #会打印这个,它是作为返回值的} num3=3 num4=3 var=$(getvalue $num3 $num4) echo "var string value is:$var"[oracle@rhel6 zxx_shell]$ ./2-function.shvar string value is:=================9
5、一个函数瓢遥费涓调用多个函数[oracle@rhel6 zxx_shell]$ cat 2-function.sh#!/bin/bashfunction show_week烫喇霰嘴(){ local week1=$1 local week2=$2 total=$[$week1 * $week2] #传入参数的两个计算乘积,并返回 echo $total}function getvalue(){ date1=`date +%w` #计算今天周几 echo $date1}function getchushu(){ num1=$1 num2=$2 var1=$(show_week $num1 $num2) var2=$(getvalue) var3=$[$var1 / $var2] #计算两个函数返回值的除数 echo $var3} num3=5 num4=2 var4=$(getchushu $num3 $num4) echo "var4 string value is:$var4"[oracle@rhel6 zxx_shell]$ ./2-function.shvar4 string value is:3