IP-MASQUERADE INDEX STRONA GŁÓWNA
SKRYPTY POWŁOKI - część II

 

1) Operacje arytmetyczne w powłoce
2) Wyrażenie read
3) Instrukcje sterujące w skryptach

 

1) Operacje arytmetyczne w powłoce

Do wykonywania operacji arytmetycznych służy wyrażenie expr .
Przykłady działań arytmetycznych :

dodawanie expr 1 + 3
odejmowanie expr 4 - 1
dzielenie           expr 8 / 2
reszta z dzielenia expr 20 % 3
mnożenie expr 1 \* 3

 

2) Wyrażenie read

Wyrażenie read używane jest do pobierania danych z klawiatury i zapisywania ich w zmiennych.

Składnia wyrażenia read jest następująca:

read zmienna1,zmienna2,..zmiennaN

Przykładowy skrypt :

#!/bin/bash
echo "Podaj swoje imię:"
read imie
echo "Cześć $imie !"

 

3) Instrukcje sterujące w skryptach

Bash umożliwia wykorzystanie w skryptach instrukcji sterujących wykonywanym skryptem takich jak :

  • instrukcje warunkowe : if
  • pętle : for , while , until
  • wyrażenie : case

 

Instrukcja warunkowa if

if warunek
then

wykonuje wszystkie polecenia jeśli warunek jest równy zero (true)
elif warunek 2
then

wykonuje wszystkie polecenia jeśli warunek 2 jest równy zero (true)
else
wykonuje wszystkie polecenia jeśli żaren z powyższych warunków nie jest spełniony
fi

Warunek musi mieć następującą postać :

[ wyrażenie1 operator wyrażenie2 ]

Między nawiasami a treścią warunku muszą być postawione spacje.

Operatory wykorzystywane w warunkach :

-eq jest równe (= =)
-ne jest różne (!=)
-lt jest mniejsze (<)
-le jest mniejsze lub równe (<=)
-gt jest większe (>)
-ge jest większe lub równe (>=)

Przykładowy skrypt :

#!/bin/sh
if [ $1 -gt 0 ]
then
echo "liczba $1 jest dodatnia"
elif [ $1 -lt 0 ]
then
echo "liczba $1 jest ujemna"
elif [ $1 -eq 0 ]
then
echo "liczba $1 jest zerem"
else
echo "$1 nie jest liczba"
fi

 

Petla for

Podczas wykonywania pętli for , zmiennej zostaje przypisana każda wartość z listy, wykonując jednocześnie instrukcje zawarte miedzy operatorami : do done w kolejnych etapach przypisania.

for { nazwa zmiennej } in { lista }
do

instrukcje wykonywane są tyle razy ile jest elementów listy
done

Przykładowy skrypt :

#!/bin/bash
for i in 1 2 3
do
echo $i
done

 

Pętla while i pętla until

Pętla while wykonywana jest tak długo jak długo podany warunek jest prawdziwy.
Pętla until wykonywana jest tak długo jak długo podany warunek jest nie prawdziwy.
Obie pętle mają taką samą budowę.

while [ warunek ]
do
polecenie1
polecenie2
.......
done

Przykładowy skrypt :

#!/bin/bash
x=1;
while [ $x -le 10 ]; do
echo $x
x=$[x + 1] x= expr x + 1
done

 

Wyrażenie case

Wyrażenie case pozwala na dokonanie wyboru z pośród kilku wzorców.

case zmienna in
"wzorzec1") polecenie1 ;;
"wzorzec2") polecenie2 ;;
"wzorzec3") polecenie3 ;;
*) polecenie_domylne
esac

Przykładowy skrypt :

#!/bin/bash
echo "Wybierz liczbę od 1-4 i zobacz co wygrałeś :"
read liczba
case "$liczbad" in
"1") echo "samochód" ;;
"2") echo "dom" ;;
"3") echo "10000 zł" ;;
"4") echo "przykro mi ale nic nie wygrywasz" ;;
*) echo "aby wziąć udział w losowaniu należy wybrać liczbę z przedziału 1-4"
esac

GRUPA MEDIA INFORMACYJNE & ADAM NAWARA