shell 函数 入参说明

1. 入参个数: $#

2. 入参:  $0  脚本名    $1第一个参数

3.  $@ 和 $*: 

      "$@"  "$*"  都是所有入参

      $@  将入参变成一个数组     $*将入参变成一个字符串

4. 数组作为入参: fucn2  ${arr[*]} ,函数内部获取入参数组:   arr=` echo "$@" `


demo :



function test1 {
    if [ "$#" -ne 3 ]
    then
        echo "3 params..."
    fi
    
    echo "travel \$* : "
    for item in "$*"
    do
        echo $item
    done


    echo "travel \$@ : "
    for item in "$@"
    do
        echo $item
    done


}


function test2 {
    newArr=($(echo "$@"))
    local sum=0
    for value in ${newArr[*]}
    do
        sum=$[$sum+$value]
    done
    echo "test2 sum : "$sum
}


test1  a b c


myarr=(1 2 3 4)
test2 ${myarr[*]}


结果输出:

travel $* : 
a b c
travel $@ : 
a
b
c
test2 sum : 10

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值