Bash to żywy pomnik historii oprogramowania – popularna powłoka, z dobrodziejstw której korzystać można równie wygodnie na Linuksie, *BSD, Windowsie i macOS-ie jest z nami od 30 lat i wciąż jest doskonalona. Właśnie udostępniono kolejne duże wydanie Basha oznaczone numerem 5.0. Pojawiły się w nim zarówno poprawki, jak i nowości.
Bash 5.0 – co nowego?
Największą nowość stanowi wprowadzenie trzech nowych zmiennych: BASH_ARGV0
, EPOCHSECONDS
oraz EPOCHREALTIME
. Pierwsza z nich zwraca $0
oraz wprowadza$0
, jeśli przypisze się ją jako wartość dla zmiennej. Rozwiązuje to wcześniejszy problem – „0” nie może być w Bashu użyte jako nazwa zmiennej i nie można przypisać nazwanej tak zmiennej wartości.
Jak wskazują same nazwy, kolejne nowe zmienne odnoszą się do czasu. EPOCHSECONDS
to zmienna o wartości liczby sekund, jakie upłynęły od początku 1970 roku, czyli epoki (stąd epoch) Uniksa. EPOCHREALTIME
ma taką samą wartość, jednak oprócz sekund przechowuje także informacje o mikrosekundach. Poza nowymi zmiennymi na uwagę zasługuje także możliwość włączania lub wyłączania zapisywania historii w syslogu oraz możliwość przypisywana statycznej wartości dla $PATH.
Nowości i drobnych usprawnień jest oczywiście znacznie więcej, z pełną listą zapoznać można się na gnu.org. Tam także dostępne są paczki TAR.GZ z nową wersją Basha.