码迷,mamicode.com
首页 > 其他好文 > 详细

(十一)函数

时间:2018-04-24 14:52:50      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:$1   tin   代码   ##   .sh   bre   忽略   左移   bin   

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

(十一)函数

标签:$1   tin   代码   ##   .sh   bre   忽略   左移   bin   

原文地址:https://www.cnblogs.com/lovelinux199075/p/8929900.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!