การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน

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.

ดูเพิ่มเติม

คำสั่งฟังก์ชัน

  • function — สร้างฟังก์ชัน
  • functions — แสดงหรือลบฟังก์ชัน
  • funcsave — บันทึกคำนิยามของฟังก์ชันไปยังไดเรกทอรี autoload ของผู้ใช้
  • funced — แก้ไขฟังก์ชันแบบโต้ตอบ