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