Dwa wpisy wcześniej, przedstawiłem informacje na temat wykorzystania zmiennych. Tym razem chciałbym przedstawić zmienne specjalne, które pozwalają na wydobycie lub przekazanie pewnych danych w skryptach.

Zmienne specjalne

$0

Zacznij od zapoznania się ze zmienną, która pozwoli na pokazanie nazwy skryptu po jego wywołaniu, czyli $0.

$_

Parametr $_ pozwala na pokazanie ścieżki z jakiej ten skrypt został wykonany.

Wywołał powyższy skrypt na dwa sposoby.

W wyniku otrzymasz dwa różne wyniki, pomimo tego, że wywołasz ten sam skrypt.

$1…$9

Kolejną zmienną, a raczej kolejnymi 9 zmiennymi, które działają tak samo są zmienne opisane jako $1…$9, które pozwalają na przekazanie tzw. parametrów do skryptu. Poniżej przykład przekazania jako parametru polecenia ls do skryptu.

W odpowiedzi zobaczysz pożądany wynik. Polecenie ls dodałem po prostu po nazwie wywołanego skryptu.

$@

Te 9 parametrów możesz zastąpić jednym, ale tylko wtedy gdy potrzebujesz przejąć hurtem wszystkie parametry, mam tutaj na myśli $@.

I tak zamiast wypisywania $1…$9 wpisz $@ a wynik będzie dokładnie taki sam.

$?

Takie dziwne coś czyli zmienna $? powoduje wypisanie statusu poprzedniego polecenia, jeżeli w odpowiedzi otrzymasz 0 tzn., że poprzednie polecenie wykonało się poprawnie, jeżeli pojawi się inna wartość (z reguły 1), poprzednie polecenie się nie wykonało.

Wykonaj taką serię poleceń:

I jak widzisz ponowne wykonanie skryptu zwróciło wartość 0, ale wykonanie polecenia cat brakpliku.txt (czyli pliku, którego nie ma) otrzymasz wartość 1, czyli błąd wykonania.

$#

Zastosowanie $# przydaje się głównie do sprawdzania warunków (o nich więcej w kolejnym wpisie), ale teraz krótki przykład.

Poniższy skrypt wyświetli informacje odnośnie liczby przekazanych parametrów i właśnie $# będzie wiedział ile ich skrypt otrzymał. Jeżeli użytkownik nie przekazał żadnego parametru otrzyma komunikat z pierwszego echo, jeżeli jakieś się pojawiły $@ pozwoli na ich wyświetlenie.

$$

Ostatnią zmienną będą $$, które pokażą PID (czyli ID procesu) bierzącej powłoki.

Podsumowanie

W tym wpisie poznałeś listę zmiennych specjalny, które jak widzisz często przydają się do pisania w miarę elastycznych skryptów, które mogą działać niezależnie od ilości wprowadzonych danych.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

Droga Administratora IT.