lab5.pdf

(116 KB) Pobierz
Microsoft Word - Systemy_operacyjne__linux_lab2.doc
Politechnika Krakowska im. T. Kościuszki
nazwa_funkcji () {
polecenia
}
INSTYTUT INFORMATYKI STOSOWANEJ
Środowisko LINUX - Programowanie w języku powłoki - zadania
Zdefiniowaną funkcję można wywołać:
Systemy
Operacyjne
LABORATORIUM 2 x 45min
nazwa_funkcji [parametr1 parametr2 parametr3 …]
Do funkcji można przekazać dowolna liczbę parametrów. Wewnątrz funkcji są one
widziane jako parametry pozycyjne, tak, jakby zostały wprowadzone jako argumenty
wywołania.
1. Cel
7. Arytmetyka stałoprzecinkowa: polecenie expr
Przykłady użycia z linii poleceń:
Celem ćwiczenia jest zapoznanie się z podstawowymi programowania w języku
powłoki bash systemu Linux.
$ expr 1 + 4
$ expr 1+4
$ expr 5 + 9 / 3
$ expr 5*4
$ expr 5 * 4
$ expr 5 \* 4 - 2
$ expr 11 % 3
$ num=1
$ num=`expr $num + 1`
$ echo $num
2. Pobieranie zmiennych z klawiatury
Do pobierania wartości z klawiatury służy polecenie read , np.:
echo „podaj imie : ”
read imie
echo „witam $ imie
Inne przykłady użycia polecenia expr:
3. Operatory plikowe
Pierwsze działanie będzie dzieleniem:
$ expr 5 + 10 / 2 wynikiem jest 10
Pierwsze będzie dodawanie:
$ expr \( 5 + 10 \) / 2 wynikiem jest 7
Dodaj 1 do zmiennej i; Przykład użycia expr w skryptach:
$ i=`expr $i + 1`
Wyświetli 1 (prawda) jeżeli zmienna a będzie miała wartość "hello":
$ expr $a = hello
Wyświetli 1 (prawda) jeżeli suma zmiennej b i liczby 5 będzie większa lub równa 10:
$ expr $b + 5 \>= 10
W powłoce bash można skorzystać także z operatorów plikowych zwracających
wartość TRUE gdy:
-d nazwa nazwa odnosi się do katalogu
-f nazwa plik nazwa jest zwykłym plikiem
-r nazwa plik może być czytany przez proces
-s nazwa plik ma długość większą od zera
-w nazwa plik może być zapisywany przez proces
-x nazwa plik jest wykonywalny
6. Funkcje
8. Zadania do wykonania
Języki powłoki umożliwiają definiowanie własnych funkcji. Funkcje takie działają na takiej
samej zasadzie jak funkcje w języku C. Definiowanie funkcji wygląda następująco:
2220845.001.png
1. Utwórz pierwszy skrypt:
#nazwa: kolory
echo "Jaki lubisz kolor ? (podaj nazwe w j. angielskim)"
read color
case "$color" in
[Bb]l??)
echo Lubie kolor $color
echo Niebo jest koloru $color
;;
[Gg]ree*)
echo $color jest kolorem drzew ;;
red | orange)
echo $color jest kolorem cieplym!;;
*) echo Nie ma czegos takiego jak $color ;;
Utwórz plik first_script
#!/bin/bash
# moj pierwszy skrypt: dd.mm.rrrr
echo "Dzisiaj jest:"
date
echo "Moj biezacy katalog to `pwd`"
echo "Zawiera on `ls | wc -l` plikow"
Aby plik uruchomić musi on dodatkowo posiadać atrybut x !
esac
echo "Jestes poza zakresem case"
$ ls -l first_script
$ chmod u+x first_script
$ ls -l first_script
$
6. Struktura for – przykład skryptu
Wykonywanie skryptu
$ ./first_script
#! /bin/bash
#nazwa: petla
for kolega in tomek michal ania marcin
do
2. Czytanie z klawiatury.
echo "Czesc $kolega"
#!/bin/bash
# nazwa skryptu: happy
echo "Czy jestes szczesliwy?"
read odpowiedz
echo "$odpowiedz jest sluszna odpowiedzia"
echo "Podaj swoje imie i nazwisko: "
read imie nazwisko
echo "Halo $imie"
done
echo "Poza petla"
7. Struktura while – przykład skryptu
#! /bin/bash
#nazwa: while1
#cel: wypisuje liczby od 0 do 9
liczba=0
while [ $liczba -lt 10 ]
do
$ ./happy
3. polecenie Expo
echo -n $liczba
liczba=`expr $liczba + 1`
Utwórz skrypt o nazwie oblicz pobierający dwie wartości wprowadzone jako
parametry skryptu, a następnie wypisujący w kolejnych wierszach sumę, różnicę,
iloczyn oraz iloraz obu składników.
done
8. Struktura while
4. Instrukcja if
Przygotuj skrypt, który po zadaniu pytania będzie czekał na wprowadzenie
prawidłowej odpowiedzi. Jeżeli taka odpowiedź nastąpi skrypt ma się zakończyć.
Utwórz skrypt o nazwie oblicz pobierający dwie wartości wprowadzone jako
parametry skryptu, a następnie wypisujący w kolejnych wierszach sumę, różnicę,
iloczyn oraz iloraz obu składników.
9. Struktura until
Napisz skrypt jak w zadaniu 7 i porównaj różnice pomiędzy while i until.
5. Instrukcja case – przykład skryptu, uzupełnij o inne przypadki
#! /bin/bash
2220845.002.png
Zgłoś jeśli naruszono regulamin