นี่คือขั้นตอนที่จำเป็นสำหรับการประกาศฟังก์ชันถาวร:
เปิด~/.bashrc
ไฟล์ในโปรแกรมแก้ไขข้อความ ไม่สำคัญว่าจะแก้ไขข้อความใดตราบใดที่คุณรู้วิธีใช้และตราบใดที่คุณเปิด/home/<username>/.bashrc
ในตอนท้ายของการ~/.bashrc
ประกาศฟังก์ชั่นของคุณเองเช่น:
find_dirs(){
find "$1" -type d
}
บันทึกและปิดไฟล์
~/.bashrc
ไฟล์อ่านทุกครั้งที่คุณเปิดเปลือกโต้ตอบ (นั่นคือขั้วแท็บใหม่เข้าสู่ระบบผ่านทางssh
หรือเปิด tty1 หรืออื่น ๆ ที่คอนโซลเสมือน) สิ่งนี้จะไม่สามารถใช้งานได้ในไฟล์สคริปต์เนื่องจาก~/.bashrc
ไม่ได้อ่านสำหรับกระสุนที่ไม่มีการโต้ตอบ นอกจากนี้ยังไม่สามารถใช้ได้ถ้าคุณทำงานbash
กับ--norc
ตัวเลือก
หากคุณต้องการให้ฟังก์ชันใช้งานได้ทันทีในแท็บที่เปิดอยู่ให้ใช้source ~/.bashrc
คำสั่ง
ฟังก์ชั่นใช้อาร์กิวเมนต์เช่นเดียวกับคำสั่งปกติ ตัวอย่างเช่น$1
through $9
ระบุพารามิเตอร์ตำแหน่งเมื่อคุณเรียกใช้ฟังก์ชัน ในตัวอย่างข้างต้นจะใช้เวลาหนึ่งพารามิเตอร์ตำแหน่งเท่านั้นและจะถูกเรียกว่าเป็นfind_dirs
find_dirs /etc
คุณยังสามารถใช้$@
เพื่ออ้างถึงพารามิเตอร์ตำแหน่งทั้งหมด ฟังก์ชั่นยังยอมรับการเปลี่ยนเส้นทาง คุณสามารถเรียกใช้ฟังก์ชันด้วยfind_dirs $1 > /dev/null
; เราสามารถประกาศได้ดังต่อไปนี้:
find_dirs(){
find "$1" -type d
}
หมายเหตุจากman bash
: "ฟังก์ชั่นถูกดำเนินการในบริบทของเชลล์ปัจจุบันไม่มีกระบวนการใหม่ถูกสร้างขึ้นเพื่อตีความพวกเขา" นั่นหมายความว่าคุณควรตระหนักถึงฟังก์ชั่นที่มีความสามารถในการเปลี่ยนสภาพแวดล้อมการประมวลผลเชลล์ของคุณ - เปลี่ยนตัวแปรและการตั้งค่าเทอร์มินัล