niedziela,
Bash: Słowa zarezerwowane
W bashu, jak i w innych językach skryptowych, istnieje szereg słów, które są zarezerwowane do specjalnych zastosowań. Są to tzw. słowa kluczowe i wbudowane polecenia. Stanowią one fundament, na którym budowane są skrypty, pozwalają na kontrolę przepływu wykonania, zarządzanie danymi, interakcję z użytkownikiem i systemem operacyjnym, a także wiele innych operacji. Znajomość tych elementów jest kluczowa dla efektywnego pisania skryptów w powłoce bash.
Jak wyświetlić zarezerwowane słowa?
W powłoce bash możesz wyświetlić listę słów kluczowych za pomocą wbudowanego polecenia compgen. Aby wyświetlić słowa kluczowe, użyj następującego polecenia w terminalu:
compgen -k
Ta sama komenda wywołana z innym przełącznikiem może posłużyć do otrzymania listy wbudowanych poleceń:
compgen -b
Słowa kluczowe i polecenia bash
Pamiętaj, że lista może się nieznacznie różnić w zależności od wersji bash, której używasz.
if,then,else,elif,fi– używane do tworzenia warunków.ifrozpoczyna warunek,thenwskazuje, co zrobić, jeśli warunek jest spełniony,elseielif(else if) dla dodatkowych warunków, afikończy blok warunkowy.for,do,done– służą do tworzenia pętli.fordefiniuje zmienną iteracyjną i zestaw wartości,dorozpoczyna blok kodu do wykonania w każdej iteracji, adonekończy pętlę.while,until,do,done– używane do tworzenia pętli, które wykonują się, dopóki (lub do momentu, gdy) spełniony jest dany warunek.whilewykonuje się, gdy warunek jest prawdziwy,untilwykonuje się, gdy warunek jest fałszywy.case,esac– używane do tworzenia instrukcji wyboru, która wykonuje różne akcje w zależności od wartości zmiennej.caserozpoczyna instrukcję, aesac(case odwrócone) ją kończy.in– słowo kluczoweinjest używane w konstrukcjachcasei pętlachfor. W instrukcjicaseinwprowadza listę wzorców do sprawdzenia. W pętliforinwprowadza listę elementów do iteracji.function– służy do definiowania funkcji. Funkcje w bashu to bloki kodu, które można wielokrotnie wywoływać w skrypcie.echo– używane do wyświetlania tekstu lub wartości zmiennej.exit– kończy bieżący skrypt lub sesję powłoki z opcjonalnym zwróceniem określonego statusu wyjścia.read– czyta wejście od użytkownika lub z pliku.select– umożliwia tworzenie menu wyboru w skryptach.break,continue–breakkończy wykonanie najbliższej pętli,continueprzechodzi do następnej iteracji najbliższej pętli.export– używane do ustawiania zmiennych środowiskowych lub oznaczania funkcji do eksportowania do środowiska podrzędnego.unset– usuwa zmienne lub funkcje.trap– pozwala na przechwycenie sygnałów i wyznaczenie komend, które mają być wykonane, gdy skrypt otrzyma określony sygnał. Jest to przydatne do sprzątania lub zakończenia zadań, gdy skrypt jest przerywany.set– ustawia opcje powłoki i pozycje parametrów lub wyświetla nazwy i wartości wszystkich zmiennych powłoki.unset– usuwa zmienne lub definicje funkcji.source(często używane jako.) – wykonuje skrypt w bieżącym kontekście powłoki, co oznacza, że wszystkie zmienne i funkcje zdefiniowane w skrypcie stają się dostępne w bieżącej powłoce.declarelubtypeset– używane do deklarowania zmiennych i ich atrybutów (np. integer, readonly, array).local– używane w funkcjach do deklarowania lokalnych zmiennych, które są widoczne tylko wewnątrz funkcji, w której zostały zadeklarowane.readonly– oznacza zmienną lub funkcję jako tylko do odczytu, co oznacza, że jej wartość nie może być zmieniona.return– kończy wykonanie funkcji i opcjonalnie zwraca wartość do miejsca wywołania.eval– wykonuje argumenty jako komendę powłoki, co pozwala na dynamiczne tworzenie i wykonanie komend.alias– tworzy alias, czyli skrót dla dłuższej komendy, ułatwiając jej wywołanie.unalias– usuwa wcześniej zdefiniowany alias.shift– przesuwa pozycyjne parametry w dół,$1jest odrzucany,$2staje się$1,$3staje się$2itd.coproc– słowo kluczowecoprocjest używane do tworzenia współbieżnych procesów. Pozwala to na uruchomienie procesu w tle, z którym można komunikować się za pośrednictwem standardowego wejścia/wyjścia. To zaawansowana funkcja używana w skomplikowanych skryptach Bash.( )– nawiasy okrągłe( )tworzą podpowłokę. Komendy wewnątrz nawiasów są wykonywane w nowym procesie powłoki, co oznacza, że wszelkie zmiany zmiennych lub środowiska nie są widoczne poza nawiasami.testlub[] – używane do oceny warunków.[jest synonimemtesti wymaga zakończenia].[[ ]]– podwójne nawiasy kwadratowe[[ ]]są używane do rozszerzonej wersji testowania warunków. Oferują większą elastyczność i bezpieczeństwo niż pojedyncze nawiasy kwadratowe[ ]i są preferowaną metodą testowania w nowoczesnych skryptach Bash.!– wykrzyknik!jest operatorem negacji. Może być użyty do odwrócenia wyniku testu lub warunku. Na przykład,if ! command; then ...wykona blok kodu, jeślicommandzakończy się niepowodzeniem.time– słowo kluczowetimesłuży do mierzenia czasu trwania wykonania danego polecenia lub skryptu. Po wykonaniu poleceniatimewyświetla czas użytkownika, systemu i rzeczywisty czas, który upłynął od rozpoczęcia do zakończenia polecenia.