Bash 的基本函式

Bash 指令稿入門

Alex Scriven

Data Scientist

為什麼要用函式?

 

如果你用過 R 或 Python 的函式,就會熟悉這些優點:

  1. 函式可重複使用
  2. 函式讓程式碼更整潔、模組化
  3. 函式有助於分享程式碼(只要知道輸入與輸出就能使用!)
Bash 指令稿入門

Bash 函式結構

來拆解一下函式語法:

  • 先為函式命名。之後會用這個名稱呼叫。
    • 名稱要清楚易懂!
  • 在函式名稱後加上括號
  • 在大括號內加入程式碼。可用到目前學過的一切(迴圈、IF、巢狀 shell 等)!
  • 視需要回傳內容(注意!跟你想的不同)

 

Bash 函式的語法如下:

function_name () {
    #function_code
    return #something
}
Bash 指令稿入門

Bash 函式的替代寫法

你也可以用下面的方式建立函式:

function function_name {
    #function_code
    return #something
}

主要差異:

  • 用關鍵字 function 表示開始定義函式
  • 開頭那行的括號可省略,但多數人依慣例會保留
Bash 指令稿入門

呼叫 Bash 函式

呼叫 Bash 函式只要寫名稱即可:

function print_hello () {
    echo "Hello world!"
}

print_hello # here we call the function
Hello world!
Bash 指令稿入門

華氏轉攝氏的 Bash 函式

我們來寫一個把華氏溫度轉成攝氏的函式,就像你在前面課程做過的,用靜態變數。

temp_f=30

function convert_temp () {
temp_c=$(echo "scale=2; ($temp_f - 32) * 5 / 9" | bc)
echo $temp_c }
convert_temp # call the function
-1.11
Bash 指令稿入門

一起來練習吧!

Bash 指令稿入門

Preparing Video For Download...