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 $$"

Trzy miesiące temu na naszej stronie…

Artykuł: Pierwszy skrypt bash

Pierwszy skrypt bash

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły