Bash 4.0

Data: 25 lutego, 2009

Dostępna jest już nowa wersja jednego z najbardziej fundamentalnych elementów systemów Unix/Linux – powłoka GNU Bash 4.0 (Bourne Again Shell).

bash40

Bash 4, oprócz poprawek błędów występujących w wersjach 3.x, oferuje zupełnie nowe możliwości. Jedną z ciekawszych zmian jest przekierowanie wyjścia &>>, które przekierowuje zarówno komunikaty programu, jak i komunikaty błędów do wskazanego pliku. Dotychczasowe przekazanie obu strumieni danych w pipe, które można było uzyskać za pomocą 2>&1 | możliwe jest także poprzez skrót |&. Nowością są również tak tablice asocjacyjne, tworzone za pomocą declare -A name, różniące się od dotychczasowych tym, że mogą używać praktyczne dowolnych funkcji. Pojawił się także nowy wieloznacznik **, pozwalający powłoce na operacje rekursywne listy plików i katalogów.

bash-4.0$ ls
dirA dirB fileA.txt
bash-4.0$ ls **
dirA/fileB.txt dirA/fileC.txt dirB/dirC/fileX.txt dirB/fileZ.txt fileA.txt

dirA:
fileB.txt fileC.txt

dirB:
dirC fileZ.txt

dirB/dirC:
fileX.txt

Dodano nową zmienną $BASHPID, zwracająca identyfikator procesu aktualnie uruchomionej powłoki. Osoby popełniające literówki (np. ja) powinna ucieszyć nowa opcja ’dirspell’. Pozwala ona na poprawianie typowych literówek podczas wydawania jakże codziennych komend 🙂

Najlepiej zobrazować to na przykładzie, kiedy wpiszemy nazwę katalogu lub pliku z błędem :

bash-4.0$ mkdir wiewiorka
bash-4.0$ touch wiewiorka/orzeszek.txt
bash-4.0$ cd wewiorka
wiewiorka
bash-4.0$ ls
orzeszek.txt

Warto dodać, że zmieniono również zasady parsowania, polepszając tym samym zgodność z POSIX. To oczywiście nie wszystkie zmiany i nowości, których jest naprawdę sporo.

Wiadomość pochodzi z serwisu /dev/santyago prowadzonego przez Korneliusza Jarzębskiego i została tu zamieszczona zgodnie z licencją Uznanie autorstwa 3.0 Unported

Newsletter OSnews raz w tygodniu. Bez reklam.