亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Shell腳本函數定義和函數參數

2020-07-27 19:14:42
字體:
來源:轉載
供稿:網友

一、Shell函數

本教程目前為止所有腳本都是從頭到尾執行。這樣做很好,但你也許已經注意到有些腳本段間互相重復。

shell允許將一組命令集或語句形成一個可用塊,這些塊稱為shell函數。

shell中函數的定義格式如下:

復制代碼 代碼如下:
函數名(){
    command1
    command2
    ...
    commandN
    [ return value ]
}

如果愿意,可在函數名前加上關鍵字function,這取決于使用者。

復制代碼 代碼如下:
function 函數名(){
    command1
    command2
    ...
    commandN
    [ return value ]
}

函數返回值,可以顯示增加return語句;如果不加,則將最后一條命令運行結果作為返回值(一般為0,如果執行失敗則返回錯誤代碼)。 return后跟數值(0-255)。

函數可以放在同一個文件中作為一段代碼,也可以放在只包含函數的單獨文件中。函數不必包含很多語句或命令,甚至可以只包含一個echo語句,這取決于使用者。

下面的例子定義了一個函數并進行調用:

復制代碼 代碼如下:

#!/bin/bash
demoFun(){
    echo "This is your first shell function!"
}
echo "Function begin..."
hello
echo "Function end!"

輸出:
Function begin...
This is your first shell function!
Function end!

下面定義一個帶有return語句的函數:

復制代碼 代碼如下:

#!/bin/bash
funWithReturn(){
    echo "The function is to get the sum of two numbers..."
    echo -n "Input first number: "
    read aNum
    echo -n "Input another number: "
    read anotherNum
    echo "The two numbers are $aNum and $anotherNum !"
    return $(($aNum+$anotherNum))
}
funWithReturn
echo "The sum of two numbers is $? !"

輸出類似下面:
The function is to get the sum of two numbers...
Input first number: 25
Input another number: 50
The two numbers are 25 and 50 !
The sum of two numbers is 75 !

函數返回值在調用該函數后通過 $? 來獲得。

注意:所有函數在使用前必須定義。這意味著必須將函數放在腳本開始部分,直至shell解釋器首次發現它時,才可以使用。調用函數僅使用其函數名即可。

二、Shell函數參數

在Shell中,調用函數時可以向其傳遞參數。在函數體內部,通過 $n 的形式來獲取參數的值,例如,$1表示第一個參數,$2表示第二個參數...

帶參數的函數示例:

復制代碼 代碼如下:

#!/bin/bash
funWithParam(){
    echo "The value of the first parameter is $1 !"
    echo "The value of the second parameter is $2 !"
    echo "The value of the tenth parameter is $10 !"
    echo "The value of the tenth parameter is ${10} !"
    echo "The value of the eleventh parameter is ${11} !"
    echo "The amount of the parameters is $# !"
    echo "The string of the parameters is $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73

輸出:
The value of the first parameter is 1 !
The value of the second parameter is 2 !
The value of the tenth parameter is 10 !
The value of the tenth parameter is 34 !
The value of the eleventh parameter is 73 !
The amount of the parameters is 12 !
The string of the parameters is 1 2 3 4 5 6 7 8 9 34 73 !"

注意,$10 不能獲取第十個參數,獲取第十個參數需要${10}。當n>=10時,需要使用${n}來獲取參數。

另外,還有幾個特殊字符用來處理參數:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人av在线| 狠狠做深爱婷婷久久综合一区| www.欧美免费| 国产一区二区三区在线观看视频| 91视频国产精品| 91社影院在线观看| 国产精品99蜜臀久久不卡二区| 91精品国产高清自在线| 超碰91人人草人人干| 97精品一区二区视频在线观看| 91国内免费在线视频| 亚洲欧美另类人妖| 日韩美女免费线视频| 久久69精品久久久久久久电影好| 色噜噜狠狠狠综合曰曰曰| 91精品久久久久久久久中文字幕| 欧美日韩国产123| 亚洲色图在线观看| www.久久久久久.com| 亚洲精品www| www.久久撸.com| 97国产一区二区精品久久呦| 91沈先生作品| 国产精品久久久久77777| 亚洲夜晚福利在线观看| 欧美在线不卡区| 在线观看国产精品日韩av| 日韩av在线一区| x99av成人免费| 国内精品一区二区三区| 欧美黑人一级爽快片淫片高清| 日日狠狠久久偷偷四色综合免费| 亚洲自拍偷拍区| 亚洲欧美三级伦理| 亚洲国产日韩欧美在线动漫| 97超级碰碰碰久久久| 欧美激情xxxx| 好吊成人免视频| 欧美日韩在线观看视频| 69久久夜色精品国产69乱青草| 69影院欧美专区视频| 激情懂色av一区av二区av| 国产欧美中文字幕| 国产欧美日韩中文字幕| 日韩精品视频在线播放| 欧美一级视频在线观看| 国产视频观看一区| 98视频在线噜噜噜国产| 精品久久久久久久大神国产| 欧美激情a在线| 热久久这里只有| 国产成人精品免费久久久久| 久久久av免费| 欧美成人免费观看| 欧美成aaa人片免费看| 国产综合久久久久| 日韩在线观看免费网站| 久久琪琪电影院| 91精品国产91久久久久| 国色天香2019中文字幕在线观看| 亚洲成**性毛茸茸| 欧美性xxxx18| 国产精品99久久久久久白浆小说| 精品久久香蕉国产线看观看亚洲| 国产欧美亚洲视频| 国产午夜精品视频免费不卡69堂| 亚洲国产成人精品一区二区| 成人福利在线观看| 亚洲国产一区二区三区在线观看| 欧美视频二区36p| 国产成人精品在线视频| 久久精品国产久精国产一老狼| 亚洲精品91美女久久久久久久| 国产精品电影观看| 国产一区二区三区在线看| 久久精视频免费在线久久完整在线看| 黑人狂躁日本妞一区二区三区| 亚洲美女久久久| 精品香蕉一区二区三区| 欧美一区二区.| 亚洲女人天堂av| 92版电视剧仙鹤神针在线观看| 日韩不卡在线观看| 色综合久久久久久中文网| 精品久久国产精品| 久久99久久久久久久噜噜| 中文字幕亚洲字幕| 欧美激情精品久久久久| 中文字幕精品av| 狠狠躁夜夜躁人人爽天天天天97| 亚洲人精选亚洲人成在线| 亚洲自拍欧美另类| 国产一区二区三区中文| 亚洲二区在线播放视频| 亚洲美女激情视频| 久久久久中文字幕2018| 日韩精品在线视频美女| 国产在线视频2019最新视频| 国产成人中文字幕| 国产精品wwww| 欧美黑人极品猛少妇色xxxxx| 国产亚洲精品激情久久| 日韩av中文字幕在线免费观看| 欧美在线视频免费| 国产精品夜间视频香蕉| 日韩精品在线观看一区二区| 精品久久久久久久久久久久久| 久久久精品视频成人| 欧美福利在线观看| 国产欧美精品在线| www亚洲精品| 色香阁99久久精品久久久| 亚洲精品国产精品国自产在线| 亚洲日韩中文字幕| 欧美日韩国产综合视频在线观看中文| 日韩欧美亚洲国产一区| 久久伊人免费视频| 亚洲欧美中文日韩在线v日本| 亚洲精品一区二区三区不| 亚洲国产精品久久久久秋霞蜜臀| 91av在线不卡| 亚洲色图第三页| 81精品国产乱码久久久久久| 精品高清美女精品国产区| 亚洲区免费影片| 亚洲少妇激情视频| 精品国产电影一区| 日本精品视频网站| 精品激情国产视频| 午夜免费在线观看精品视频| 国产精品2018| 日韩麻豆第一页| 久久久久久久久亚洲| 69国产精品成人在线播放| 国产精品久久久久久久久久ktv| 国产91精品久久久久| 日韩一区二区久久久| 18性欧美xxxⅹ性满足| 日韩一区二区三区在线播放| 日韩美女视频中文字幕| 日韩av大片在线| 亚洲免费成人av电影| 中文字幕一精品亚洲无线一区| 日韩一区av在线| 在线亚洲国产精品网| 精品久久久久久久久久久久| 国产中文字幕亚洲| 欧美精品中文字幕一区| 欧美另类在线播放| 欧美国产视频一区二区| 欧美激情精品在线| 91精品久久久久久久久久| 久久精品中文字幕电影| 久久精品99无色码中文字幕| 日韩精品亚洲元码| 中国日韩欧美久久久久久久久| 亚洲香蕉成人av网站在线观看| 亚洲一区二区三区在线免费观看| 青青草原成人在线视频| 国产精品高清在线观看| 久久资源免费视频| 欧美日韩国产在线看| 91嫩草在线视频| 91精品国产高清久久久久久久久|