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).
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
Dodaj komentarz