Veröffentlichung der Kommandozeilenoberfläche Bash 5.3

Nach fast drei Jahren Entwicklungszeit wurde die neue Version des GNU Bash-Befehlsinterpreters 5.3 veröffentlicht, der in den meisten Linux-Distributionen standardmäßig verwendet wird. Gleichzeitig wurde die Version 8.3 der readline-Bibliothek erstellt, die in Bash zur Bearbeitung der Kommandozeile verwendet wird.

Zu den wichtigsten Verbesserungen gehören:

  • Neue Formen der Befehlsersetzung «${ command; }» und «${|command;}» wurden implementiert, die es ermöglichen, die Ausgabe eines Befehls zu erfassen, ohne einen separaten Kindprozess zu erstellen und ohne unbenannte Pipes zu verwenden. Die Ergebnisse der Befehlsausführung werden entweder als Ergebnis der Ersetzung zurückgegeben oder in der Variablen REPLY gespeichert.
  • Eine neue Variable GLOBSORT wurde hinzugefügt, die bestimmt, wie beim Vervollständigen von Dateipfaden sortiert werden soll. Beispielsweise kann die Sortierung nach Namen (GLOBSORT=name), Größe (GLOBSORT=size) oder Änderungszeit (GLOBSORT=mtime) gewählt werden, und es kann auch die Reihenfolge der Sortierung festgelegt werden, entweder aufsteigend (von klein nach groß) oder absteigend (von groß nach klein), beispielsweise bei «GLOBSORT=-size» werden die größten Dateien zuerst angezeigt.
  • Der eingebauten Kommandozeile „compgen“ wurde die Option „-V varname“ hinzugefügt, um generierte Ergänzungen in einer Variablen zu speichern, anstatt sie auf den Standardausgang auszugeben.
  • Der eingebauten Kommandozeile „read“ wurde die Option „-E“ hinzugefügt, die beim Eingeben von Daten die readline-Bibliothek mit Autocomplete-Regeln von Bash verwendet.
  • Der eingebauten Kommandozeile „source“ wurde die Option „-p PATH“ hinzugefügt, die es ermöglicht, die Suchliste in Dateipfaden zu überschreiben (der angegebene Wert wird anstelle der Variablen $PATH verwendet).
  • Der Quellcode wurde auf die Verwendung des Standards C23 umgestellt. Die Möglichkeit zur Kompilierung in „K&R C“-Modus wurde eingestellt (Stil, der der Beschreibung der Programmiersprache C im Buch „The C Programming Language“ von Kernighan und Ritchie entspricht).
  • Die eingebaute Kommandozeile „umask“ ist jetzt vollständig mit den POSIX-Spezifikationen kompatibel.
  • Ein ladbares Kommando „kv“ wurde hinzugefügt, das ein assoziatives Array basierend auf einem Datensatz im Format „Schlüssel Wert“ erstellt.
  • Ein ladbares Kommando „strptime“ wurde hinzugefügt, das die textuelle Darstellung von Datum und Uhrzeit in die epochale Zeit (Anzahl der Sekunden seit dem 1. Januar 1970) umwandelt.
  • Das herunterladbare Kommando „fltexpr“ wurde hinzugefügt, das arithmetische Operationen mit Fließkommazahlen ähnlich der let-Anweisung ermöglicht.
  • Eine dynamisch einstellbare Variable BASH_MONOSECONDS wurde hinzugefügt, die den aktuellen Wert der systemeigenen monotonen Uhren enthält, die kontinuierlich zunehmen, selbst wenn die Zeit in vergangene Werte geändert wird.
  • Im POSIX-Modus wird der Stringvergleich im Befehl „test“ unter Verwendung der Operatoren nun unter Berücksichtigung der aktuellen Locale durchgeführt.
  • Im Befehl „bind -x“ ist es erlaubt, die Taste und den aufgerufenen Befehl durch ein Leerzeichen zu trennen, wenn die Sequenz in doppelte Anführungszeichen gesetzt ist.
  • In der neuen Version von Readline wurde die Option „search-ignore-case“ für die Suche in der Historie ohne Berücksichtigung der Groß- und Kleinschreibung hinzugefügt. Der Befehl „export-completions“ wurde hinzugefügt, um Wortvervollständigungsoptionen für die Verarbeitung in anderen Prozessen zu exportieren. Der Befehl „execute-named-command“ wurde hinzugefügt, um einen Befehl auszuführen, dessen Name aus dem Standard-Eingangsstrom erhalten wurde.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster