shell 指令碼學習筆記--函數

來源:互聯網
上載者:User

標籤:

一、定義格式

[function] 函數名()

{

  命令表

}

二、調用方法

     先定義,後使用,直接輸入函數名,不需要圓括弧()

三、函數參數傳遞方法

     可以利用位置參數或者變數進行傳遞

#! /bin/bash
# myfirst.sh
testFunction(){ echo "$1,$2" #位置參數傳遞參數 echo "$val1,$val2" #變數傳遞參數}val1="test1"val2="test2"testFunction 1 2 #調用函數echo "$1,$2" #列印呼叫指令碼時傳遞的位置參數

運行結果:

[[email protected] shell]# ./myfirst.sh a b1,2test1,test2a,b

四、return

通常,函數最後一條命令執行後,就退出函數,但也可以通過return命令立即退出函數

return [n]

其中n值為退出函數時的退出值,但n值預設時,退出值為最後一條命令退出時的退出值

五、一個shell指令碼中可以包含多個函數

#! /bin/bash
# myFirst2.sh
testFunction1(){ echo "$1,$2" return 1 echo "$val1,$val2"}val1="test1"val2="test2"testFunction1 1 2 #調用第一個函數echo "$?" #列印出函數testFunction1的退出值echo "$1,$2"testFunction2(){ echo "this is fun2" return 2 echo "test"}testFunction2 #調用第二個函數echo "$?" #列印出testFunction2的退出值

運行結果:

[[email protected] shell]# ./myfirst2.sh a b1,21a,bthis is fun22

六、小結

shell中的函數可以把若干命令集合到一起,通過一個函數名調用,並可重複調用,加強指令碼的重複利用。

 

shell 指令碼學習筆記--函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.