ฟังก์ชันพื้นฐานใน Bash

Bash Scripting เบื้องต้น

Alex Scriven

Data Scientist

ทำไมต้องใช้ฟังก์ชัน?

 

หากเคยใช้ฟังก์ชันใน R หรือ Python จะคุ้นเคยกับข้อดีเหล่านี้:

  1. ฟังก์ชันนำกลับมาใช้ซ้ำได้
  2. ฟังก์ชันช่วยให้โค้ดเป็นระเบียบและแบ่งส่วนได้ชัดเจน (modular)
  3. ฟังก์ชันช่วยให้แชร์โค้ดได้ง่าย (รู้แค่ input และ output ก็ใช้ได้เลย!)
Bash Scripting เบื้องต้น

โครงสร้างของฟังก์ชัน Bash

ทำความเข้าใจโครงสร้างไวยากรณ์ของฟังก์ชัน:

  • เริ่มด้วยการตั้งชื่อฟังก์ชัน ซึ่งใช้เรียกในภายหลัง
    • ตั้งให้สื่อความหมาย!
  • เพิ่มวงเล็บเปิดและปิดหลังชื่อฟังก์ชัน
  • ใส่โค้ดไว้ในวงเล็บปีกกา สามารถใช้ทุกอย่างที่เรียนมาแล้วได้ (loop, IF, shell-within-a-shell ฯลฯ)!
  • จะ return ค่าหรือไม่ก็ได้ (ระวัง! ไม่เหมือนที่คิด)

 

ฟังก์ชันใน Bash มีไวยากรณ์ดังนี้:

function_name () {
    #function_code
    return #something
}
Bash Scripting เบื้องต้น

รูปแบบอื่นของฟังก์ชัน Bash

สามารถสร้างฟังก์ชันในรูปแบบนี้ได้เช่นกัน:

function function_name {
    #function_code
    return #something
}

ความแตกต่างหลัก:

  • ใช้คำว่า function นำหน้าเพื่อระบุว่าเริ่มสร้างฟังก์ชัน
  • สามารถละวงเล็บในบรรทัดแรกได้ แต่หลายคนยังคงใส่ไว้ตามธรรมเนียม
Bash Scripting เบื้องต้น

การเรียกใช้ฟังก์ชัน Bash

การเรียกใช้ฟังก์ชัน Bash ทำได้เพียงพิมพ์ชื่อฟังก์ชัน:

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

print_hello # here we call the function
Hello world!
Bash Scripting เบื้องต้น

ฟังก์ชัน Bash แปลงฟาเรนไฮต์เป็นเซลเซียส

ลองเขียนฟังก์ชันแปลงองศาฟาเรนไฮต์เป็นเซลเซียสเหมือนที่ทำในบทก่อน โดยใช้ตัวแปรแบบ static

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 Scripting เบื้องต้น

มาฝึกกันเถอะ!

Bash Scripting เบื้องต้น

Preparing Video For Download...