Linux中國

Bash 5.0 發布及其新功能

新功能怎麼樣?

在郵件列表解釋了此版本中修復的 bug:

此版本修復了 bash-4.4 中的幾個主要錯誤,並引入了幾個新功能。最重要的 bug 修復是對 nameref 變數的解析以及通過模糊測試發現的許多潛在的內存越界錯誤。在為了符合 Posix 標準解釋而不進行單詞拆分的上下文中,對 $@$* 的展開做了許多改變,另外還有解決極端情況中 Posix 一致性的修改。

它還引入了一些新功能。根據其發布說明,最值得注意的新功能是幾個新的 shell 變數:

BASH_ARGV0EPOCHSECONDSEPOCHREALTIME。內置命令 history 可以刪除指定範圍的條目,並能將負數理解為從歷史末端開始的偏移量。有一個選項允許局部變數繼承前一個範圍內具有相同名稱的變數的值。有一個新的 shell 選項,在啟用它時,會導致 shell 只嘗試一次擴展關聯數組下標(這在算術表達式中使用時會出現問題)。globasciiranges 這個 shell 選項現在默認啟用。可以在配置時默認關閉它。

Bash-4.4 和 Bash-5.0 之間有哪些變化?

其更新日誌提到了不兼容的更改和所支持的 readline 版本歷史記錄。它是這麼說的:

bash-4.4 和 bash-5.0 之間存在一些不兼容的變化。儘管我已經盡量最小化兼容性問題,但是對 nameref 變數解析的更改意味著對變數名引用的某些使用會有不同的行為。默認情況下,如果啟用了擴展調試模式,shell 僅在啟動時設置 BASH_ARGCBASH_ARGV。它被無條件地設置是一個疏忽,並且在腳本傳遞大量參數時會導致性能問題。

如果需要,可以將 Bash 鏈接到已安裝的 Readline 庫,而不是 lib/readline 中的私有版本。只有 readline-8.0 及更高版本能夠提供 bash-5.0 所需的所有符號。早期版本的 Readline 庫無法正常工作。

我相信一些添加的功能/變數非常有用。我最喜歡的一些是:

  • 有一個新的(默認情況下禁用,文檔中沒有說明)shell 選項,用於在運行時啟用/禁用向 syslog 發送歷史記錄。
  • 正如文檔一直所說的那樣,除非 shell 處於調試模式,否則它不會在啟動時自動設置 BASH_ARGCBASH_ARGV,但如果腳本在上層引用它們且沒有啟用調試模式,那麼 shell 將動態創建它們。
  • 現在可以使用 -d start-end 刪除指定範圍的 history 條目。
  • 如果啟用了作業控制的非互動式 shell 檢測到前台作業因 SIGINT 而死亡,則其行為就像接收到 SIGINT 一樣。
  • BASH_ARGV0:一個新變數,擴展為 $0,並在賦值時設置為 $0

要查看完整的更改和功能列表,請參閱郵件列表文章

總結

你可以使用下面的命令檢查你當前的 Bash 版本:

bash --version

你很可能安裝了 Bash 4.4。如果你想獲得新版本,我建議等待你的發行版提供它。

你怎麼看待 Bash-5.0 發布?你在使用其他 bash 的替代品么?如果有的話,這個更新會改變你的想法么?

請在下面的評論中告訴我們你的想法。

via: https://itsfoss.com/bash-5-release

作者:Ankush Das 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...