天天看點

shell腳本-函數詳解

作者:程式員的交流電

#頭條創作挑戰賽#

函數是在shell腳本學習中的重要一步,通過編寫函數能夠提高我們對shell腳本的應用。使用函數可以将代碼子產品化,使得腳本更加結構化、易于了解和維護。函數在Shell腳本中起到了類似于其他程式設計語言中函數或方法的作用。

1.函數的定義

# 文法一
函數名() {
 代碼塊
 return N
}

# 文法二
function 函數名 {
 代碼塊
 return N
}

# 文法三
function 函數名() {
 代碼塊
 return N
}           

函數的return的說明:

1.return可以結束一個函數

2.return 預設傳回函數中最後一個指令的退出狀态,可以給定參數值,改值範圍是0-255之間。

3.函數的傳回值,隻能通過$?系統變量獲得,可以顯示的加return傳回,如果沒有return指令,函數将以最後一條指令運作結果,作為傳回值。

4.函數中間需要退出建議使用return,需要注意的是exit是腳本的退出,如果在函數中使用exit,會導緻整個腳本退出。

2.編寫函數

函數必須要先定義,然後才可以使用。

shell腳本-函數詳解
shell腳本-函數詳解

需要注意的是,當計算傳回的結果大于255,是不起作用的

shell腳本-函數詳解

那我們怎麼處理計算結果大于255的呢

shell腳本-函數詳解
shell腳本-函數詳解

3.函數在指令行中使用

函數在腳本中定義完成了,想要在指令行中使用。但是這個是目前會話其作用,新打開一個會話是不起作用的。如果想要的話,可以把函數定義到 /etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc 等檔案當中,聲明為一個全局變量或者環境變量調用。

shell腳本-函數詳解
shell腳本-函數詳解