Zmienne Specjalne
Zmienne specjalne (ang. special variables, special parameters)
To najbardziej prywatne zmienne powłoki, są udostępniane użytkownikowi tylko do odczytu (są wyjątki). Kilka przykładów:
- $0
- nazwa bieżącego skryptu lub powłoki
- $1..$9
- Parametry przekazywane do skryptu (wyjątek, użytkownik może modyfikować ten rodzaj $-ych specjalnych.
- $#
- Zawiera liczbę argumentów przekazanych w linii poleceń.
- $_
- Ścieżka z jaką został wywołany skrypt (powłoka)
Przykład:
#!/bin/bash
echo "Zostałem wysołany jako: $_"
Efekt wykonania:
bash$ ./skrypt.sh
Zostalem wywolany jako ./skrypt.sh
bash$ bash skrypt.sh
Zostalem wywolany jako /bin/bash
- $@
- Pokaże wszystkie parametry przekzywane do skryptu (też wyjątek), równoważne $1 $2 $3…, jeśli nie podane są żadne parametry $@ interpretowana jest jako nic.
Przykład:
#!/bin/bash
echo "Skrypt uruchomiono z parametrami: $@"
A teraz wywołaj ten skrypt z jakimiś parametrami, mogą być brane z powietrza np.:
./plik -a d
Efekt będzie wyglądał następująco:
Skrypt uruchomiono z paramertami -a d
- $?
- kod powrotu ostanio wykonywanego polecenia (0 jeśli polecenie wykonało się poprawnie, innawartość jeśli błędnie).
bash$ touch plik
bash$ cat plik
Po sprawdzeniu wartości zmiennej $? uzyskujemy
bash$ echo $?
0
Ponieważ polecenie cat się udało, zmienna statusu zawiera 0. Teraz spróbujmy wykonać to polecenie na nie istniejącym pliku:
bash$ cat niematakiegopliku.txt
bash$ echo $?
1
Wartość 1 pokazuje, że powyższe polecenie się nie powiodło.
- $$
- PID procesu bieżącej powłoki
wersja strony: 0, ostatnia edycja: 1176453838|%e %b %Y, %H:%M %Z (%O temu)





