Bash 5.2 ออกแล้วและมาพร้อมข่าวสาร การแก้ไข และอื่นๆ

ทุบตี

Bash (Bourne Again SHell) เป็นโปรเจ็กต์ GNU ซึ่งเป็นการนำข้อกำหนดของเชลล์ POSIX ไปใช้งานโดยสมบูรณ์

หลังจากเกือบ 2 ปีของการพัฒนา (ยี่สิบเดือนของการพัฒนาที่แน่นอน) การเปิดตัว เวอร์ชันใหม่ของเชลล์ GNU ทุบตี 5.2, ซึ่งเป็นการอัพเดทสาขาที่ห้า (5.x) และรุ่นนี้แก้ไขจุดบกพร่องที่โดดเด่นหลายอย่างใน bash-5.1 และแนะนำคุณสมบัติใหม่จำนวนหนึ่ง

สำหรับผู้ที่ยังใหม่กับ bash คุณควรรู้ว่านี่เป็นเชลล์เริ่มต้นบนลีนุกซ์ส่วนใหญ่

คุณสมบัติใหม่หลักของ Bash 5.2

ในเวอร์ชันใหม่นี้ที่นำเสนอจาก Bash 5.2 สังเกตว่ามีงานเขียนโค้ดใหม่เพื่อวิเคราะห์โครงสร้างการแทนที่คำสั่ง และแทนที่เอาต์พุตเมื่อรันคำสั่งอื่น เช่น "$(command)" หรือ "command" การใช้งานใหม่เรียกตัวแยกวิเคราะห์กระทิงแบบเรียกซ้ำ ซึ่งจะแทนที่การแยกวิเคราะห์เฉพาะกิจที่ใช้ในเวอร์ชันก่อนหน้า และช่วยให้ตรวจสอบไวยากรณ์ได้ดีขึ้นและตรวจจับข้อผิดพลาดทางไวยากรณ์ได้เร็วกว่ามาก

การเปลี่ยนแปลงอื่นที่โดดเด่นใน Bash 5.2 เวอร์ชันใหม่นี้คือ ปรับปรุงการแยกวิเคราะห์และการขยายตัวของดัชนีอาร์เรย์ บวกกับความสามารถในการใช้พารามิเตอร์ "@" และ "*" ในคำสั่งบิวด์อินเพื่อรีเซ็ตคีย์เป็นค่าที่กำหนดแทนการรีเซ็ตอาร์เรย์ทั้งหมด

นอกจากนี้ ยังมีการกล่าวอีกว่า เพิ่มการตั้งค่าใหม่ “patsub_replacement” เมื่อตั้งค่าแล้ว อักขระ '&' ในสตริงที่ถูกแทนที่จะถูกใช้เพื่อแทนที่ส่วนของสตริงที่ตรงกับรูปแบบที่กำหนด

tambien เน้นว่ามีกรอบใหม่สำหรับเวลารอ readline ซึ่งรวมถึงใหม่
ฟังก์ชั่นสาธารณะเพื่อตั้งค่าการหมดเวลาและดูเวลาที่เหลือก่อนที่จะหมดเวลา บวกกับมีตัวเลือกการกำหนดค่าใหม่: --with-shared-termcap-library ซึ่งบังคับให้ไลบรารี readline ที่แชร์ลิงก์ไปยังไลบรารี termcap ที่แชร์ (หรือคำสาป) /ncurses/termlib) ดังนั้นแอปพลิเคชันจึงไม่จำเป็นต้องทำ

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นจาก Bash 5.2 เวอร์ชันใหม่นี้:

  • จำนวนสถานการณ์ที่กระบวนการเพิ่มเติมไม่ได้ถูกขยาย ตัวอย่างเช่น การ fork จะไม่ถูกใช้อีกต่อไปเมื่อใช้โครงสร้าง "$("
  • ใช้กรอบงานภายในใหม่สำหรับการคำนวณตัวจับเวลาและหมดเวลา
  • ให้ความสามารถในการเปิดใช้งานในเวลาคอมไพล์ (configure --enable-alt-array-implementation) การใช้งานอาร์เรย์สำรองที่ได้รับการปรับให้เหมาะสมสำหรับความเร็วสูงสุดในการเข้าถึงโดยใช้หน่วยความจำที่เพิ่มขึ้น
  • การใช้งานเพิ่มเติมของ $'…' และ $»…» การแทนที่ที่ใช้ในการโลคัลไลเซชัน
  •  'printf' มีตัวระบุรูปแบบใหม่ '%Q' ซึ่งทำหน้าที่เหมือน "%q" แต่ใช้ความแม่นยำที่ระบุใดๆ กับอาร์กิวเมนต์ดั้งเดิมโดยไม่มีเครื่องหมายอัญประกาศ จากนั้นจึงใส่เครื่องหมายอัญประกาศและส่งออกผลลัพธ์
  • เพิ่มการตั้งค่า noexpand_translations และตัวเลือกบิลด์ "configure --enable-translatable-strings" เพื่อควบคุมว่าจะรองรับ $"..." หรือไม่ เปิดใช้งานการแทนที่ที่แปลเป็นภาษาท้องถิ่นได้
  • ในโหมด posix ตอนนี้ `printf' สามารถใช้ long double สำหรับตัวระบุการแปลงทศนิยมได้ หากมี มิฉะนั้นจะต้องเป็นสองเท่า
  • เพิ่มและเปิดใช้งานโดยค่าเริ่มต้น "globskipdots" เพื่อหลีกเลี่ยง "." และ ".." เมื่อขยายเส้นทาง..

ในเวลาเดียวกันไลบรารี readline 8.2 ได้รับการเผยแพร่ซึ่งใช้ใน bash เพื่อจัดระเบียบการแก้ไขบรรทัดคำสั่ง

สุดท้ายนี้ขอบอกว่า bash เวอร์ชันนี้สามารถเชื่อมโยงกับไลบรารี Readline ติดตั้งแล้วแทนที่จะเป็นเวอร์ชันส่วนตัวใน lib/readline หากคุณต้องการ สิ่งสำคัญคือต้องพูดถึงว่าเวอร์ชันของ อ่านไลน์-8.1 และรุ่นที่ใหม่กว่าสามารถให้สัญลักษณ์ทั้งหมดที่ bash-5.2 ต้องการ ดังนั้นไลบรารี Readline เวอร์ชันก่อนหน้าจะไม่ทำงานอย่างถูกต้อง

สุดท้ายนี้ สำหรับผู้ที่สนใจอยากทราบข้อมูลเพิ่มเติม และผู้ที่ต้องการรับเวอร์ชันใหม่นี้ตอนนี้ คุณสามารถเยี่ยมชมลิงค์ต่อไปนี้

จะรับ Bash 5.2 บน Linux ได้อย่างไร

ในขณะนี้ ยังคงต้องรอให้ Bash เวอร์ชันใหม่นี้รวมเข้าด้วยกัน ภายในที่เก็บของลีนุกซ์ดิสทริบิวชันเนื่องจากเป็นตัวเลือกที่ดีที่สุด


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา