回答:
bash
リリース4.4と5.0(2019-01-07のリリース)の間で行われた変更はNEWS
、bash
ソースディストリビューションのファイルで確認できます。
ここにリンクがあります(ここにリストするには変更が多すぎます)。
loadable builtins
ます。DOESはbash
して、新しい標準セットをフォローアップksh93
を通じて強化組み込みコマンドを見つけるために、PATH
代わりに常に優先し、それらを与えますか?
bash
4.4以降ではBASH_LOADABLES_PATH
、を使用してそれらからロードしますenable -f builtin-name
。
enable
再実装のように見えますが、すべての組み込みコマンドにパスを関連付ける機能がありません。これは通常、すべてのビルトインによって事前定義されており、すべてのビルインをきめ細かく制御できます。ksh93
builtin
ksh93
/usr/ast/bin/<name>
あなたが、私のように、完全なチェンジログではなく見出しの機能を探しているなら、メンテナーのChet Rameyによるこの投稿はそれを超えています。興味深いセクションは次のとおりです。
このリリースでは、bash-4.4のいくつかの未解決のバグが修正され、いくつかの新機能が導入されています。最も重要なバグ修正は、nameref変数の解決方法のオーバーホールと、ファジングを介して検出される潜在的な境界外メモリエラーの数です。Posix標準の解釈に準拠するために単語分割が実行されないさまざまなコンテキストでの$ @および$ *の展開に対する多くの変更と、Posix準拠のコーナーケースを解決するための追加の変更があります。
最も注目すべき新機能は、いくつかの新しいシェル変数:BASH_ARGV0、EPOCHSECONDS、およびEPOCHREALTIMEです。`history 'ビルトインは履歴エントリの範囲を削除でき、負の引数を履歴リストの末尾からのオフセットとして理解します。ローカル変数が前のスコープで同じ名前の変数の値を継承できるようにするオプションがあります。有効にすると、シェルが連想配列添え字を一度だけ展開しようとする新しいシェルオプションがあります(算術式で使用される場合、これは問題です)。`globasciiranges 'シェルオプションがデフォルトで有効になりました。構成時にデフォルトでオフに設定できます。
bash-4.4とbash-5.0の間には、互換性のない変更がいくつかあります。nameref変数の解決方法の変更は、namerefの一部の使用が異なる動作をすることを意味しますが、互換性の問題を最小限に抑えようとしました。デフォルトでは、拡張デバッグモードが有効な場合、シェルは起動時にBASH_ARGCとBASH_ARGVのみを設定します。無条件に設定され、スクリプトに多数の引数が渡されたときにパフォーマンスの問題が発生するのは見落としでした。
彼はあなたがもっとしたい場合に、これらの2つのファイルも参照しています:
`history 'ビルトインは、履歴エントリの範囲を削除でき、履歴リストの末尾からのオフセットとして負の引数を理解します。
範囲を削除する例:
history -d 123-130
または最後の10を削除します。
history -d -10--1
Bash 5 Manページからの抜粋:
'歴史'
オプションが提供される場合、オプションの意味は次のとおりです。
'-d OFFSET'位置OFFSETの履歴エントリを削除します。OFFSETが正の場合、履歴が表示されるときに表示されるように指定する必要があります。OFFSETが負の場合、それは最後の履歴位置よりも大きいものとして解釈されるため、負のインデックスは履歴の最後からカウントバックし、「-1」のインデックスは現在の「history -d」コマンドを指します。
'-d START-END' STARTからENDまでの履歴エントリを削除します(両端を含む)。STARTおよびENDの正および負の値は、上記のように解釈されます。
関連する回答を参照してください:bash履歴の範囲を削除します
CHANGES
ファイル:git.savannah.gnu.org/cgit/bash.git/tree/...