Podstawy programowania w shellu 355
34. if [ SREPLY - 't' -o ŚKKPLY = 'T' ); then
35. echo "potwierdziłeś chec skasowania plików."
36. else
37. echo "Nie potwierdziłeś chęci skasowania plików."
38. exi t 0 3S. £i
4C.else
41. echo "Nic nie odpowiedziałeś."
42. exit 0
43. ii
4 co sprowadza nas do...
echo -n "Kasujemy pliki nalezace do użytkownika "$NAZWA" i umieszczone w katalogu /cmp..." rm -f S ( finrt /tmp -user SNAZWA ) echo "gotowe."
4 koniec skryptu
Oto opis ciekawszych fragmentów skryptu:
■ W linijce 14 wprowadzamy polecenie if razem z wyrażeniem testowym (więcej o nich w dalszej części rozdziału) oraz odwołujemy się do pierwszej zmiennej, która jest tak naprawdę jedną ze zmiennych środowiskowych zwracanych przez env i zawiera nazwę aktualnego użytkownika. Wyrażenie if umożliwia wykonanie wszystkich poleceń umieszczonych po then wtedy i tylko wtedy, gdy warunek następujący po if jest spełniony (lub posiada wartość 1). W tym przypadku porównujemy wartość zmiennej logname oraz łańcuch rooi, aby określić, czy użytkownik, który uruchomił skrypt jest administratorem.
Argumenty w wierszu poleceń shclla bash
Argumentem w shellu bash jest wszystko co następuje po pierwszym wyrazie polecenia (po spacji). Przykładowo, w wyrażeniu is -1 poleceniem jest is, a argumentem -1.
• W linijce 15 ponownie korzystamy ze składni if do sprawdzenia, czy nazwę skryptu uzupełniono o argument w wierszu poleceń. Do argumentów wpisanych w wierszu poleceń odwołujemy się podając ich numer: si to wartość pierwszego argumentu, $2 -drugiego i tak dalej. Jeśli potrzebny nam jest łańcuch złożony ze wszystkich argumentów, należy użyć zmiennej Umieszczenie nazwy zmiennej w wyrażeniu testowym