14.Linux shell編程(函數(shù))

(創(chuàng)建于2018/2/1)

1.簡單的一個(gè)函數(shù)

  1 #!/bin/bash                                                                              
  2 
  3 function myfunc{    //注意這里沒有(),函數(shù)名何{之間沒有空格導(dǎo)致出錯(cuò)形耗,空格一定要有
  4     echo "myfunc"
  5 }
  6 myfunc              //調(diào)用函數(shù)
      
  創(chuàng)建函數(shù)的格式哥桥,有兩種:
  function name {
    commands
  }
  或
  name() {
    commands
  }
  
  執(zhí)行后:
   tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
   ./16.sh: line 4: syntax error near unexpected token `echo'
   ./16.sh: line 4: `    echo "myfunc"'
       
   錯(cuò)在哪里?注意myfunc函數(shù)和后邊的大括號間需要有空格
   
   正確寫法:
   #!/bin/bash                                                                              
  
   function myfunc {
     echo "myfunc"
   }
   myfunc
   
   最好這樣激涤,換行防止錯(cuò)誤
   
   #!/bin/bash                                                                              
  
   function myfunc 
   {
     echo "myfunc"
   }
   myfunc

2.函數(shù)重名拟糕,也是定義函數(shù)的兩種方式

  1 #!/bin/bash                                                                              
  2 
  3 function myfunc    //去掉function會報(bào)錯(cuò)  myfunc: command not found
  4 {
  5     echo "myfunc"
  6 }
  7 myfunc
  8 
  9 myfunc()          //定義了一個(gè)和上邊函數(shù)同名的函數(shù),區(qū)別在于倦踢,這里沒有使用function 關(guān)鍵字送滞,還多了一個(gè)()
                      //這是兩種定義函數(shù)的方式
 10 {
 11     echo "myfunc2"
 12 }
 13 
 14 myfunc
 
 
 執(zhí)行結(jié)果
  tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
  myfunc
  myfunc2
  
  
  去掉第二個(gè)同名函數(shù)的小括號
  
  1 #!/bin/bash                                                                              
  2 
  3 function myfunc
  4 {
  5     echo "myfunc"
  6 }
  7 myfunc
  8 
  9 myfunc
 10 {
 11     echo "myfunc2"
 12 }
 13 
 14 myfunc
 
 結(jié)果
 
tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
myfunc
myfunc
myfunc2
myfunc

3.函數(shù)傳參和返回值

  1 #!/bin/bash                                                                              
  2 
  3 function myfunc
  4 {
  5     echo $[ $1 + $2 ]
  6 }
  7 
  8 value=$(myfunc 10 90)
  9 echo "value :$value"
      
  結(jié)果
  
  100

4.函數(shù)調(diào)用局部變量和引入函數(shù)庫

16.sh
    
  1 #!/bin/bash                                                                              
  2 source ./17.sh     //source關(guān)鍵字引入函數(shù)庫文件
  3 //. .17.sh         //這種寫法也同樣是引入庫文件,“.”就代表source關(guān)鍵字
  4 function myfunc
  5 {
  6     echo $beaty    //使用局部變量
  7 }
  8 beaty=12
  9 
 10 myfunc
 11 
 12 echo "add value:$(add 10 30)"     //調(diào)用庫文件中的函數(shù)
      
17.sh

  1 #!/bin/bash                                                                              
  2 
  3 function add()
  4 {
  5     echo $[ $1 + $2 ]
  6 }


執(zhí)行結(jié)果
tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
12
add value:40
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辱挥,一起剝皮案震驚了整個(gè)濱河市犁嗅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晤碘,老刑警劉巖褂微,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異园爷,居然都是意外死亡宠蚂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門童社,熙熙樓的掌柜王于貴愁眉苦臉地迎上來求厕,“玉大人,你說我怎么就攤上這事扰楼⊙窖ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵弦赖,是天一觀的道長十艾。 經(jīng)常有香客問我,道長腾节,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任荤牍,我火速辦了婚禮案腺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘康吵。我一直安慰自己劈榨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布晦嵌。 她就那樣靜靜地躺著同辣,像睡著了一般拷姿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旱函,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天响巢,我揣著相機(jī)與錄音,去河邊找鬼棒妨。 笑死踪古,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的券腔。 我是一名探鬼主播伏穆,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼奖恰,長吁一口氣:“原來是場噩夢啊……” “哼挺益!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起畜埋,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤辱魁,失蹤者是張志新(化名)和其女友劉穎烟瞧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體商叹,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡燕刻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剖笙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卵洗。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖弥咪,靈堂內(nèi)的尸體忽然破棺而出过蹂,到底是詐尸還是另有隱情,我是刑警寧澤聚至,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布酷勺,位于F島的核電站,受9級特大地震影響扳躬,放射性物質(zhì)發(fā)生泄漏脆诉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一贷币、第九天 我趴在偏房一處隱蔽的房頂上張望击胜。 院中可真熱鬧,春花似錦役纹、人聲如沸偶摔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辰斋。三九已至策州,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宫仗,已是汗流浹背够挂。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锰什,地道東北人下硕。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像汁胆,于是被迫代替她去往敵國和親梭姓。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 原文地址:C語言函數(shù)調(diào)用棧(一)C語言函數(shù)調(diào)用棧(二) 0 引言 程序的執(zhí)行過程可看作連續(xù)的函數(shù)調(diào)用嫩码。當(dāng)一個(gè)函數(shù)執(zhí)...
    小豬啊嗚閱讀 4,590評論 1 19
  • 文→_→張琮楠 很多時(shí)候铸题,你會覺得生活是一名頂級賽車手铡恕,它把你擱置在極為空曠地帶,讓你孤零零的丢间,顯得有些絕望探熔,然后...
    張琮楠閱讀 268評論 0 0
  • 登樓一望路幾千, 遠(yuǎn)樹含煙在平原烘挫。 秦淮歌漸遠(yuǎn)诀艰, 盛京志欲閑。 卷帷空嘆月饮六, 搖扇夢有聲其垄。 樽前無陽關(guān), 知到第幾程?
    Lotus吳閱讀 268評論 0 4
  • 漢字卤橄,Ascii碼绿满,根據(jù)字庫解析成點(diǎn)陣 首先來了解兩個(gè)概念,什么是點(diǎn)陣窟扑,若干個(gè)虛實(shí)的點(diǎn)組成的一個(gè)矩陣喇颁;什么是字庫,...
    jarylan閱讀 8,119評論 8 8
  • 審計(jì)嚎货、金融學(xué)生工作簡訊 為了讓學(xué)生了解“考試的規(guī)定相關(guān)要求橘霎。” 2017年12月24日厂抖,審計(jì)一班、...
    阿奴晨露閱讀 219評論 0 0