Opublikowano wydanie interaktywnej powłoki fish 3.2.0 (friendly interactive shell), która rozwija się jako bardziej przyjazna dla użytkownika alternatywa dla bash i zsh. Fish obsługuje takie możliwości jak podświetlanie składni z automatycznym wykrywaniem błędów wejścia, proponowanie możliwych wariantów wejścia na podstawie historii wcześniejszych operacji, autouzupełnianie opcji i poleceń z wykorzystaniem ich opisu w dokumentacji man, komfortowa praca z pudełka bez konieczności dodatkowej konfiguracji, uproszczony język pisania skryptów, wsparcie dla schowka X11, wygodne narzędzia do przeszukiwania historii wykonanych operacji. Kod projektu rozpowszechniany jest na licencji GPLv2. Gotowe pakiety są dostępne dla Ubuntu, Debiana, Fedory, openSUSE i RHEL.
Wśród dodanych nowości:
- Dodano obsługę cofania zmian (Undo i Redo) podczas edytowania wiersza poleceń. Undo wywołuje się za pomocą kombinacji Ctrl+Z, a Redo za pomocą Alt+\.
- Wbudowane polecenia teraz wykonują przetwarzanie w miarę napływu danych, na przykład operacja zamiany linii zaczyna wyświetlać od razu, bez oczekiwania na wszystkie dane wejściowe. Wbudowane polecenia można teraz również używać w łańcuchu poleceń przesyłających dane przez nieoznaczone kanały, na przykład „dmesg -w | string match ‘*usb*'.”
- Jeśli ścieżka w wierszu poleceń nie mieści się w szerokości terminala, teraz jest częściowo obcinana, a nie zastępowana przez „>”.
- Poprawiono działanie autouzupełniania po naciśnięciu Tab (dla wieloznacznych uzupełnień natychmiast wyświetlany jest lista zamienników bez konieczności ponownego naciskania Tab).
- Dodano nową funkcję pomocniczą „fish_add_path” do dodawania ścieżki do zmiennej środowiskowej $PATH, automatycznie eliminującą duplikaty.
- Zapewniono bardziej czytelną diagnostykę błędów podczas wykonywania polecenia test.
- W konstrukcji „$x[$start..$end]” teraz dozwolone jest pomijanie wartości $start lub $end, które domyślnie są określane jako 1 i -1. Na przykład, echo $var[..] jest równoważne $var[1..-1] i doprowadzi do wyświetlenia od pierwszego do ostatniego elementu.
- Znacząco zwiększono wydajność wielu funkcji. Rozszerzono możliwości funkcji przetwarzania ciągów.
Źródło: opennet.ru
