A A A
logo2




Skrypt sh to plik tekstowy zawierający polecenia do wykonania. Skrypty uruchamiane są przy pomocy powłoki. Aby taki plik został odpowiednio zinterpretowany należy umieścić na samym początku informacje jaki interpreter powinien zostać użyty. W przypadku skryptów powłoki sh będzie to:

#!/bin/sh


Aby dany skrypt mógł zostać wykonywany należy mu nadać prawo do wykonywania (polecenie chmod).



Zmienne



Zmienne definiujemy przy pomocy operatora przypisania. Gdy zmienna jest zbiorem znaków należy go zapisać w cudzyslowiach.

zmienna=3
zmienna=”ala ma kota”


Pod zmienną można także podstawić wynik działania programu np. wyświetlającego aktualną datę. Komendę należy umieścić w nawiasach:

zmienna=`date`

Dodatkowo można odwołać się do argumentów linii poleceń. $0 oznacza nazwę programu. $1 jest to pierwszy argument linii poleceń itd. $# oznacza liczbę wszystkich argumentów linii poleceń.




Wyświetlanie na standardowym wyjściu




Aby wyświetlić tekst na standardowym wyjściu należy użyć polecenia echo. Aby odwołać się do jakiejś zmiennej należy użyć znaku dolara.

#/bin/sh
zmienna=”Dzisiejsza data to:”
zmienna2=`date`
echo $zmienna $zmienna2

Ten prosty skrypt po uruchomieniu spowoduje wypisanie na standardowe wyjście „Dzisiejsza data to: 23.04.2009”.



Instrukcje Warunkowe



If
Instrukcja if ma skladnię:

if [ warunek ]
then
{
...
}
else
{
...
}
fi

W warunku możemy dokonać porównania liczb:

liczba1 -gt liczba2 czy liczba1 wieksza od liczba2
liczba1 -ge liczba2 czy liczba1 wieksza lubrówna liczba2
liczba1 -eq liczba2 porównuje 2 liczby
liczba1 -le liczba2 czy liczba1 mniejsza lub równa liczba2
liczba1 -lt liczba2 czy liczba1 jest mniejsza od liczba2

Sprawdzić czy jest to plik czy katalog:

-f nazwapliku czy jest to zwykły plik
-d nazwapliku czy jest to katalog
-e nazwapliku czy plik istnieje


Case

Budowa instrukcji warunkowej case wygląda następująco:

case $zmienna in:
wartosc)
polecenie1
;;
wartosc2)
polecenie2
;;
*)
polecenie3
;;
esac

Oznacza to, że gdy $zmienna jest wartoscia to zostanie wykonane polecenie1. Gdy $zmienna jest wartością dwa to zostanie wykonane polecenie2, a gdy nie jest żadną z wymienionych wyżej opcji zostanie wykonane polecenie 3 (znak *).


Pętle



For
Budowa pętli for wygląda następująco:


for i in lista
do
instrukcja
done


Przykład 1
for i in 123
do
echo $i
done


While
Budowa pętli while wygląda następująco:


while [ warunek ]
do
instrukcja
done

Aby przerwać pętle należy użyć „break;”.




Autor: Aleksandra Przybyło
aleksandraprzybylo@gmail.com