Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Bash: Zmienne specjalne

wtorek,

Bash: Zmienne specjalne

W powłoce bash istnieją specjalne zmienne, które mają z góry zdefiniowane znaczenia i są używane do przechwytywania informacji o środowisku wykonania skryptu oraz o interakcjach z użytkownikiem.

Najważniejsze zmienne specjalne

Zmienna $0

Nazwa bieżącego skryptu. Jeśli skrypt jest uruchamiany, $0 będzie zawierać nazwę tego skryptu.

Zmienne $1, $2, $3, ..., ${10}, ${11}, ...

Argumenty pozycyjne. $1 odnosi się do pierwszego argumentu przekazanego do skryptu, $2 do drugiego i tak dalej.

Zmienna $#

Liczba argumentów pozycyjnych przekazanych do skryptu.

Zmienna $*

Wszystkie argumenty pozycyjne przekazane do skryptu, zwrócone jako pojedynczy ciąg.

Zmienna $@

Wszystkie argumenty pozycyjne, ale w przeciwieństwie do $*, każdy argument jest traktowany jako oddzielny ciąg. Bardzo przydatne, gdy argumenty zawierają białe znaki.

Zmienna $?

Status wyjścia ostatniego wykonanego polecenia. Wartość 0 zazwyczaj oznacza, że polecenie zakończyło się sukcesem, a wartość inna niż 0 wskazuje na błąd.

Zmienna $$

ID procesu (PID) bieżącego skryptu.

Zmienna $!

PID ostatnio uruchomionego procesu w tle.

Zmienna $-

Aktualne opcje ustawione dla skryptu.

Zmienna $_

Ostatni argument ostatniego polecenia.

Przykłady

Wyświetlanie nazwy skryptu

echo "Nazwa tego skryptu to $0"

Liczba argumentów

echo "Liczba przekazanych argumentów: $#"

Iteracja przez argumenty

for arg in "$@"
do
    echo "Argument: $arg"
done

Sprawdzenie wyniku ostatniego polecenia

ls /nieistniejacy_katalog
if [ $? -ne 0 ]; then
    echo "Wystąpił błąd!"
fi

Wyświetlanie PID skryptu

echo "PID tego skryptu to $$"

Artykuł: Życzenia świąteczne

Życzenia świąteczne

Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły