日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Shell函數(shù)參數(shù)
和 C++、C#、Python 等大部分編程語(yǔ)言不同,Shell 中的函數(shù)在定義時(shí)不能指明參數(shù),但是在調(diào)用時(shí)卻可以傳遞參數(shù)。

函數(shù)參數(shù)是 Shell 位置參數(shù)的一種,在函數(shù)內(nèi)部可以使用
$n來接收,例如,$1 表示第一個(gè)參數(shù),$2 表示第二個(gè)參數(shù),依次類推。

除了
$n,還有另外三個(gè)比較重要的變量:

  • $#可以獲取傳遞的參數(shù)的個(gè)數(shù);
  • $@或者$*可以一次性獲取所有的參數(shù)(猛擊《Shell $*和$@的區(qū)別》可以了解更多內(nèi)容)。

$n、$#、$@、$* 都屬于特殊變量,不了解的讀者請(qǐng)轉(zhuǎn)到《Shell特殊變量》。

【實(shí)例1】使用 $n 來接收函數(shù)參數(shù)。

#!/bin/bash

#定義函數(shù)
function show(){
    echo "Tutorial: $1"
    echo "URL: $2"
    echo "Author: "$3
    echo "Total $# parameters"
}

#調(diào)用函數(shù)
show C# http://c.biancheng.net/csharp/ Tom

運(yùn)行結(jié)果:

Tutorial: C#

URL: http://c.biancheng.net/csharp/

Author: Tom

Total 3 parameters

注意,第 7 行代碼的寫法有點(diǎn)不同,這里使用了 Shell 字符串拼接技巧。

【實(shí)例2】使用 $@ 來遍歷函數(shù)參數(shù)。

定義一個(gè)函數(shù),計(jì)算所有參數(shù)的和:

#!/bin/bash

function getsum(){
    local sum=0

    for n in $@
    do
         ((sum+=n))
    done

    echo $sum
    return 0
}

#調(diào)用函數(shù)并傳遞參數(shù),最后將結(jié)果賦值給一個(gè)變量
total=$(getsum 10 20 55 15)
echo $total

#也可以將變量省略
echo $(getsum 10 20 55 15)

運(yùn)行結(jié)果:

100

100


網(wǎng)站標(biāo)題:Shell函數(shù)參數(shù)
標(biāo)題鏈接:http://www.dlmjj.cn/article/copiosh.html