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