Bash:
การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน
วิธีการ:
สร้างฟังก์ชันง่ายๆ ใน Bash:
greet() {
echo "สวัสดี, $1!"
}
ใช้งานโดยการเรียกฟังก์ชันพร้อมพารามิเตอร์:
greet "โลก" # ผลลัพธ์: สวัสดี, โลก!
ฟังก์ชันสามารถส่งค่ากลับโดยใช้ return
สำหรับรหัสสถานะตัวเลข (ไม่ใช่สำหรับส่งข้อมูลกลับ):
add() {
return $(($1 + $2))
}
add 3 4
echo $? # ผลลัพธ์: 7
โปรดทราบว่า $?
จะจับค่าส่งกลับของคำสั่งล่าสุด ซึ่งเป็นผลรวมตัวเลขของ add
.
การศึกษาลึก
ใน Bash, ฟังก์ชันเป็นวิธีหนึ่งในการจัดกลุ่มโค้ดตั้งแต่เวอร์ชันแรกๆ โดยประวัติศาสตร์แล้ว การใช้ฟังก์ชันสอดคล้องกับหลักการโปรแกรมมิ่งแบบโครงสร้างที่เริ่มใช้ในยุค 1960 เพื่อปรับปรุงคุณภาพโค้ด
ทางเลือกอื่นๆ จากฟังก์ชัน รวมถึงการใช้ไฟล์สคริปต์หรือใช้นามแฝง แต่เหล่านี้ไม่ได้เสนอระดับการซ้อนกันและการนำกลับมาใช้ซ้ำเท่ากับฟังก์ชัน
รายละเอียดการทำงานที่น่าสังเกตใน Bash คือฟังก์ชันถือเป็นส่วนประกอบชั้นยอด; พวกเขาไม่มีคำหลักประกาศเฉพาะเช่น function
ในภาษาอื่นๆ ถึงแม้ว่า function
ใน Bash เป็นตัวเลือกที่ไม่จำเป็นเพื่ออ่านง่าย ขอบเขตของฟังก์ชันก็น่าสนใจ—ตัวแปรเป็นแบบโกลบอลเป็นค่าเริ่มต้นเว้นแต่จะประกาศเป็นแบบโลคอล ซึ่งอาจนำไปสู่พฤติกรรมที่ไม่คาดคิดถ้าไม่จัดการอย่างเหมาะสม
ดูเพิ่มเติม
- คู่มือ Bash เกี่ยวกับ Shell Functions: https://www.gnu.org/software/bash/manual/html_node/Shell-Functions.html
- คู่มือ Bash-Scripting ขั้นสูง: https://tldp.org/LDP/abs/html/functions.html
- “Pro Bash Programming: Scripting the GNU/Linux Shell” สำหรับแนวคิดและปฏิบัติการสคริปต์ฟังก์ชันอย่างลึกซึ้ง.