Bash – Zmienne specjalne cz.6

Print Friendly, PDF & Email

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 BASH

$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) bieżą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.

Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT