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