Fish Shell:
การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน
วิธีการ:
ใน Fish, คุณเขียนฟังก์ชันโดยใช้คีย์เวิร์ด function
, ตั้งชื่อให้มัน และจบด้วย end
ต่อไปนี้เป็นตัวอย่างง่ายๆ:
function hello
echo "Hello, World!"
end
hello
ผลลัพธ์:
Hello, World!
ตอนนี้, ลองทำให้มันทักทายผู้ใช้:
function greet
set user (whoami)
echo "Hey there, $user!"
end
greet
ผลลัพธ์:
Hey there, your_username!
หากต้องการบันทึกไว้ในทุกเซสชัน, ใช้ funcsave greet
.
ลงลึกลงไป
ฟังก์ชันใน Fish Shell เหมือนกับมินิสคริปต์ — คุณสามารถใส่อะไรก็ได้เข้าไปในนั้น จากประวัติศาสตร์แล้ว, แนวคิดของฟังก์ชันในการเขียนสคริปต์ Shell ได้ประหยัดเวลาจากการพิมพ์และดีบักซ้ำๆ นานหลายชั่วโมง ไม่เหมือนกับภาษาโปรแกรมมิ่งอย่าง Python, ฟังก์ชัน Shell มีจุดมุ่งหมายมากกว่าเรื่องโครงสร้างคือความสะดวก
บาง shell, เช่น Bash, ใช้ function
หรือวงเล็บธรรมดา แต่ Fish ยึดมั่นใน function ... end
—ชัดเจนและอ่านง่าย ภายในฟังก์ชัน Fish, คุณได้รับทั้งการใช้พารามิเตอร์, ตัวแปรภายในท้องถิ่นด้วย set -l
, และคุณยังสามารถกำหนดฟังก์ชันภายในฟังก์ชันอื่นได้
คุณไม่จำเป็นต้องใช้ค่า return
เพราะ Fish ไม่ได้ให้ความสำคัญกับสิ่งนั้น; ผลลัพธ์ของฟังก์ชันคือการคืนค่าของมัน และหากคุณต้องการฟังก์ชันที่มีอยู่ตามปกติสำหรับเซสชันในอนาคต, อย่าลืม funcsave
.
ดูเพิ่มเติม
- บทเรียน เกี่ยวกับฟังก์ชันใน fish: https://fishshell.com/docs/current/tutorial.html#tut_functions