(十一)函数

1)函数作用

完成特定功能,简化代码,代码重复利用

2)定义函数:

方法一:
函数名() {
功能代码
}
方法二:
funcation 函数名 {
功能代码
}

3)函数返回值 :

默认是函数中最后一条命令的状态码$?
定义返回值:return 的返回值最大是255
如果想把函数的执行结果返回,同时如果是数字大于255,需要把函数的执行结果赋予一个变量

#!/bin/bash
fun2() {
        read -p "enter number:" num
        echo  $[$num*2]
}
result=$(fun2)
echo "fun2 return value : $result"

4)函数位置参数

函数里面调用位置参数,那么调用函数的时候也需要位置参数,而不是直接不管调用函数的位置参数

#!/bin/bash
if [ $# -ne 3 ];then
	echo "Usage: $(basename $0) pa1 pa2 pa3 ,[1 2 3]"
	exit 1
fi

fun4() {
	let sum1=$1*$2*$3
	echo $sum1
}

result=$(fun4 $1 $2 $3) 
echo "fun4 result:$result"

执行函数
./fun4.sh 100 100 100
fun4 result:1000000

5)函数数组参数

#!/bin/bash
num=(1 2 3 4 5)
fun5() {
		echo "all parameters: $*"
        local sum1=1
        for i in $*
        do
                let sum1*=$i
        done
        echo $sum1
}
fun5 ${num[@]}

重点:${num[@]} 获取数组的所有参数 for循环中的$*表示所有参数
6) ### shell 内置命令
:
false :
true :
exit :退出整个程序
break :结束当前循环,或跳出本层循环
continue :忽略本次循环剩余的代码,直接进行下一次代码
shift:把位置参数向左移动

#!/bin/bash
while [ $# -ne 0 ]
do
        useradd $1
		echo "$1 is created"
        shift
done

执行脚本:

#bash  shift_while.sh uu11 uu22 uu33 
uu11 is created
uu22 is created
uu33 is created
posted @ 2018-04-24 14:07  你很棒  阅读(175)  评论(0编辑  收藏  举报