最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本函數(shù)定義和函數(shù)參數(shù)

 更新時(shí)間:2014年07月19日 12:00:01   投稿:junjie  
這篇文章主要介紹了Shell腳本函數(shù)定義和函數(shù)參數(shù),分別介紹了2種自定義函數(shù)的方法,以及定義帶返回值函數(shù)的方法,需要的朋友可以參考下

一、Shell函數(shù)

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

shell允許將一組命令集或語(yǔ)句形成一個(gè)可用塊,這些塊稱(chēng)為shell函數(shù)。

shell中函數(shù)的定義格式如下:

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

如果愿意,可在函數(shù)名前加上關(guān)鍵字function,這取決于使用者。

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

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

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

下面的例子定義了一個(gè)函數(shù)并進(jìn)行調(diào)用:

復(fù)制代碼 代碼如下:

#!/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!

下面定義一個(gè)帶有return語(yǔ)句的函數(shù):

復(fù)制代碼 代碼如下:

#!/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 $? !"

輸出類(lèi)似下面:
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 !

函數(shù)返回值在調(diào)用該函數(shù)后通過(guò) $? 來(lái)獲得。

注意:所有函數(shù)在使用前必須定義。這意味著必須將函數(shù)放在腳本開(kāi)始部分,直至shell解釋器首次發(fā)現(xiàn)它時(shí),才可以使用。調(diào)用函數(shù)僅使用其函數(shù)名即可。

二、Shell函數(shù)參數(shù)

在Shell中,調(diào)用函數(shù)時(shí)可以向其傳遞參數(shù)。在函數(shù)體內(nèi)部,通過(guò) $n 的形式來(lái)獲取參數(shù)的值,例如,$1表示第一個(gè)參數(shù),$2表示第二個(gè)參數(shù)...

帶參數(shù)的函數(shù)示例:

復(fù)制代碼 代碼如下:

#!/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 不能獲取第十個(gè)參數(shù),獲取第十個(gè)參數(shù)需要${10}。當(dāng)n>=10時(shí),需要使用${n}來(lái)獲取參數(shù)。

另外,還有幾個(gè)特殊字符用來(lái)處理參數(shù):

相關(guān)文章

  • Linux使用zsh提高效率的5條建議

    Linux使用zsh提高效率的5條建議

    今天小編就為大家分享一篇關(guān)于Linux使用zsh提高效率的5條建議,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • 復(fù)制 Windows cmd 窗口命令行的信息方法

    復(fù)制 Windows cmd 窗口命令行的信息方法

    下面小編就為大家?guī)?lái)一篇復(fù)制 Windows cmd 窗口命令行的信息方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • 在Linux中將cURL的輸出保存到文件的幾種方法

    在Linux中將cURL的輸出保存到文件的幾種方法

    當(dāng)你需要將cURL的輸出保存到文件時(shí),Linux提供了幾種不同的方法,cURL是一個(gè)功能強(qiáng)大的命令行工具,用于在網(wǎng)絡(luò)上傳輸數(shù)據(jù),通常用于HTTP請(qǐng)求,在本文中,我們將探討如何使用cURL將其輸出保存到文件,以及一些附加的選項(xiàng)和技巧
    2023-09-09
  • Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼

    Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼

    這篇文章主要介紹了Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼,本文講解使用scp命令實(shí)現(xiàn)名登錄上傳文件,需要的朋友可以參考下
    2015-04-04
  • linux shell中的比較符號(hào)與特殊符號(hào)介紹

    linux shell中的比較符號(hào)與特殊符號(hào)介紹

    本文為大家介紹linux shell中的特殊符號(hào),包括字符串比較、數(shù)字比較與計(jì)算、特殊字符等,學(xué)習(xí)shell的朋友可以看下
    2013-06-06
  • 淺談shell循環(huán)中變量的作用域問(wèn)題

    淺談shell循環(huán)中變量的作用域問(wèn)題

    今天小編就為大家分享一篇淺談shell循環(huán)中變量的作用域問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Shell腳本中使用function(函數(shù))示例

    Shell腳本中使用function(函數(shù))示例

    這篇文章主要介紹了Shell腳本中使用function(函數(shù))示例,本文著重講解的是如何在shell腳本中使用自定義函數(shù),并給出了兩個(gè)例子,需要的朋友可以參考下
    2014-11-11
  • 檢測(cè)網(wǎng)段IP使用情況的shell腳本

    檢測(cè)網(wǎng)段IP使用情況的shell腳本

    檢測(cè)網(wǎng)段IP使用情況的shell腳本,有需要的朋友可以參考下
    2013-02-02
  • Shell中字符串排序的幾種方法

    Shell中字符串排序的幾種方法

    今天小編就為大家分享一篇關(guān)于Shell中字符串排序的幾種方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • shell腳本兩個(gè)文件關(guān)鍵行合并方式

    shell腳本兩個(gè)文件關(guān)鍵行合并方式

    這篇文章主要介紹了shell腳本兩個(gè)文件關(guān)鍵行合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評(píng)論

宾川县| 喀喇沁旗| 云安县| 永丰县| 威远县| 衡阳县| 桐城市| 平乐县| 临海市| 佳木斯市| 富民县| 灵山县| 正蓝旗| 浏阳市| 满洲里市| 眉山市| 兰州市| 凉城县| 新密市| 皋兰县| 灵丘县| 奉化市| 合江县| 卓尼县| 墨脱县| 方山县| 高邮市| 海门市| 汨罗市| 阳谷县| 孟村| 长海县| 桂林市| 余干县| 重庆市| 黎川县| 南康市| 汉川市| 临朐县| 三门县| 会宁县|