หลังจากสองปีของการพัฒนา เวอร์ชันใหม่ของเชลล์ GNU Bash 5.1 ได้รับการเผยแพร่แล้ว ซึ่งเป็นค่าเริ่มต้นของลีนุกซ์ส่วนใหญ่ ในเวลาเดียวกันการเปิดตัวไลบรารี readline 8.1 ถูกสร้างขึ้นโดยใช้ใน bash เพื่อจัดระเบียบการแก้ไขบรรทัดคำสั่ง
นี่คือล่ามเริ่มต้นในระบบ Unix ฟรีจำนวนมาก โดยเฉพาะในระบบ GNU / Linux นอกจากนี้ยังเป็นเชลล์เริ่มต้นของ Mac OS X โครงการ Cygwin นำมาสู่ Windows เป็นครั้งแรกและใน Windows 10 เป็นตัวเลือกระบบปฏิบัติการ
คุณสมบัติใหม่หลักของ Bash 5.1
เครื่องยนต์ได้รับการออกแบบใหม่เพื่อสร้างตัวเลขสุ่มหลอก นอกเหนือจากนั้น se เพิ่มตัวแปร SRANDOM ที่มีตัวเลขสุ่ม 32 บิตจากตัวสร้างตัวเลขสุ่มหลอกของระบบ
สำหรับอาร์เรย์ที่เชื่อมโยงการสนับสนุนสำหรับการกำหนดแบบผสมจะถูกนำไปใช้ซึ่งชุดของคู่ถูกส่งผ่านในรูปแบบคีย์ / ค่านอกเหนือจากการเพิ่มขนาดของตารางแฮชแบบไดนามิกขึ้นอยู่กับประเภทของข้อมูลที่เพิ่มในอาร์เรย์ที่เชื่อมโยง
การเปลี่ยนแปลงอื่นที่โดดเด่นคือในโหมด POSIX ฟังก์ชันการทดแทนกระบวนการถูกนำมาใช้โดยที่อินพุตและเอาต์พุตของคำสั่งจะถือว่าเป็นไฟล์โดยคำสั่งอื่น ๆ
ถูกเพิ่มเข้ามา พารามิเตอร์ใหม่สำหรับตัวดำเนินการแปลง: "U", "u" และ "L" เพื่อแปลงสตริงทั้งหมดเป็นตัวพิมพ์ใหญ่แปลงอักขระตัวแรกเป็นตัวพิมพ์ใหญ่และแปลงเป็นตัวพิมพ์เล็กตลอดจนพารามิเตอร์ "K" เพื่อแสดงอาร์เรย์ที่เชื่อมโยงในรูปแบบคีย์ / ค่า
ในการเปิดใช้งานโหมดความเข้ากันได้ย้อนหลังตอนนี้คุณต้องใช้ตัวแปร BASH_COMPAT (คุณไม่สามารถตั้งค่าโหมดความเข้ากันได้ของ bash 5.0 โดยใช้ตัวเลือก compat50)
โดยค่าเริ่มต้น, Readline ได้เปิดใช้งานโหมดการวางคร่อม โดยข้อมูลที่ดึงมาจากคลิปบอร์ดจะถูกจัดกรอบด้วยลำดับการหลีกเลี่ยงเพื่อเน้นข้อมูลที่ได้รับจากคลิปบอร์ด Readline ให้การไฮไลต์สำหรับส่วนแทรกดังกล่าวเช่นเดียวกับการเน้นข้อความที่พบระหว่างการค้นหาประวัติแบบเพิ่มหน่วยและไม่เพิ่มหน่วย จำนวนคำสั่งและสถานการณ์ที่มีการลบล้างป้ายกำกับไฮไลต์
นอกจากนี้แล้วe ส่งคืนพฤติกรรมก่อนหน้านี้ ที่เกี่ยวข้องกับการขยายตัวของไฟล์ เส้นทางของไฟล์เมื่อระบุคำที่มีแบ็กสแลช แต่ไม่ได้ใช้อักขระการขยายมาสก์พิเศษ
เช่นเดียวกับใน bash 4.4 เส้นทางดังกล่าวจะไม่เปิดเผยอีกต่อไป (พฤติกรรมที่แก้ไขของ Bash 5.0 เป็นไปตามมาตรฐาน POSIX แต่ได้รับการตอบรับในทางลบจากผู้ใช้และคณะกรรมการ POSIX ตกลงที่จะเปลี่ยนข้อกำหนด) นอกจากนี้โหมด GLOBIGNORE จะละเว้น "." และ ".. " เป็นส่วนประกอบพา ธ ที่ระบุในเทอร์มินัล
การจัดการข้อยกเว้นที่แก้ไขเมื่ออ่านข้อมูลเทอร์มินัล โดยใช้โครงสร้างอ่านและเลือก ขณะนี้ฟังก์ชันเลือกในตัวจะดักจับเมื่อสัญญาณขัดจังหวะการโทรภายในเพื่ออ่าน อนุญาตให้เปิดใช้งานแบบเรียกซ้ำได้ของคอนโทรลเลอร์ SIGINT
Readline ได้ใช้การเลื่อนแนวนอนอัตโนมัติบนเทอร์มินัลบรรทัดเดียว
นอกจากนี้เราสามารถหา รองรับการกำหนดลิงค์ทางลัดต่างๆ แป้นพิมพ์สำหรับโหมดการแก้ไขที่แตกต่างกันและรูปแบบแป้นพิมพ์ที่แตกต่างกันในคำสั่ง "ผูก -x"
มีการนำการเพิ่มประสิทธิภาพของจำนวนสาขามาใช้ ดำเนินการเมื่อเรียกใช้คำสั่งใน subshell หรือใช้ "bash -c" เมื่อรัน "bash -c" สถานะการดำเนินการงานสามารถพบได้ด้วยคำสั่ง jobs
ขณะนี้รหัสการจับคู่รูปแบบใช้การเรียก fnmatch เพื่อพิจารณาสตริงที่มีลักษณะเหมือนกัน แต่แตกต่างกันในรหัสอักขระ
คำสั่ง เพิ่มเชลล์ทรานสโพสคำลงใน readline แล้วโดยใช้คำจำกัดความคำเดียวกับใน shell-forward-word โดยค่าเริ่มต้นการเชื่อมโยงแป้นพิมพ์จะถูกเพิ่มสำหรับเชลล์คำไปข้างหน้าคำเปลือกย้อนหลังคำเชลล์เปลี่ยนคำและเชลล์ฆ่าคำ
จะรับ Bash 5.1 บน Linux ได้อย่างไร
ในขณะนี้ ยังคงต้องรอให้ Bash เวอร์ชันใหม่นี้รวมเข้าด้วยกัน ภายในที่เก็บของลีนุกซ์ดิสทริบิวชันเนื่องจากเป็นตัวเลือกที่ดีที่สุด
หากคุณต้องการทราบข้อมูลเพิ่มเติมและผู้ที่ต้องการรับเวอร์ชันใหม่ตอนนี้ คุณสามารถเยี่ยมชมลิงค์ต่อไปนี้
และหากต้องการทราบว่าคุณกำลังใช้งานเวอร์ชันใดอยู่คุณต้องเปิดเทอร์มินัลและลองใช้วิธีใดวิธีหนึ่งจากสามวิธีนี้ (จะมีมากกว่านั้น):
1) $ echo "$ {BASH_VERSION}"
2) $ bash - รุ่น
3) โดยไม่ต้องพิมพ์อะไรเลยให้ใช้การตัดและวางคีย์ผสมนั่นคือ: Ctrl + x Ctrl + v