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.if
rozpoczyna warunek,then
wskazuje, co zrobić, jeśli warunek jest spełniony,else
ielif
(else if) dla dodatkowych warunków, afi
kończy blok warunkowy.for
,do
,done
– służą do tworzenia pętli.for
definiuje zmienną iteracyjną i zestaw wartości,do
rozpoczyna blok kodu do wykonania w każdej iteracji, adone
koń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.while
wykonuje się, gdy warunek jest prawdziwy,until
wykonuje 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.case
rozpoczyna instrukcję, aesac
(case odwrócone) ją kończy.in
– słowo kluczowein
jest używane w konstrukcjachcase
i pętlachfor
. W instrukcjicase
in
wprowadza listę wzorców do sprawdzenia. W pętlifor
in
wprowadza 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
–break
kończy wykonanie najbliższej pętli,continue
przechodzi 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.declare
lubtypeset
– 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ół,$1
jest odrzucany,$2
staje się$1
,$3
staje się$2
itd.coproc
– słowo kluczowecoproc
jest 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.test
lub[
] – używane do oceny warunków.[
jest synonimemtest
i 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ślicommand
zakończy się niepowodzeniem.time
– słowo kluczowetime
służy do mierzenia czasu trwania wykonania danego polecenia lub skryptu. Po wykonaniu poleceniatime
wyświetla czas użytkownika, systemu i rzeczywisty czas, który upłynął od rozpoczęcia do zakończenia polecenia.