Téma: | A GNU/Linux parancssor és bash parancsfájlok (szkriptek) alapjai |
---|---|
A munka célja: | Elsajátítani a GNU/Linux operációs rendszer legfontosabb parancsait, bash parancsfájlok használatát. |
Elméleti ismeretek: | fájlkezelési parancsok, cut, grep, mc, ssh, du, cat, echo, ps, chmod, chown |
Szükséges eszközök és programok: | Telepített Ubuntu Linux (vagy más Linux disztribúció) operációs rendszer, Internet kapcsolat |
Név:
Dátum, idő:
Számítógép:
Indítsa el a szövegszerkesztő programot. Másolja a laboratóriumi munka teljes szövegét majd illessze be a dokumentumba.
Kapcsolja be a számítógépét Ubuntu Linux operációs rendszert indítva. (Windows esetén VirtualBox programban indítsa el az Ubuntu Linux virtuális gépet).
Nyissa meg az alábbi oktatási segédletet: http://okt.kmf.uz.ua/dw/doku.php?id=st-linux_alapok:st-linux_alapok
Olvassa el az 1-6 fejezeteket. Az ott olvasható parancsokat próbálja is ki a Terminál programban.
Másolás / beillesztés segítségével a minta parancsfájlokat hozza létre és próbálja ki a saját gépén is.
Másolja saját könyvtárába az alábbi parancsfájlt labminta.sc néven.
#!/bin/bash # letorli kepernyot clear echo "Jelenitse meg a kepernyon az elso n (n<90) Fibonacci szamot!" echo "a script ellenorizze a megadott parameterek szamat és azt is," echo "hogy az elso parameter egesz szam!" echo # megjeleniti a program nevet es az elso parametert echo $0 $1; echo # ellenorizi, hogy a parameterek szama egy: if test $# -eq 1 # ha igen: then # ellenorzi, hogy az elso parameter szam # a szuro csak azokat a karaktereket engedi at # amlyek 0-9 et tartalmaznak, # az a erteke vagy szam lesz, vagy ures a=`echo $1 | grep '^[0-9]*$'` # # megjelenk az a a kepernyon (ha nincs #) # echo "a= $a" # # ellenorzi, hogy a szam-e # ha az elso ES masodik parametert kellene ellenorizni, akkor: # if test -n "$a" -a -n "$b" # tehat: ha az "a" ES a "b" IS szam if test -n "$a" # ha igen: then # ellenorizi, hogy az elso parameter kissebb mint 90 if test $1 -le 90 then # itt jon maga a program # Az elso ket szam 1 es 1 f1=1 f2=1 echo " Fibonacci szamok:" echo " $f1" echo " $f2" # aztan: # ciklus KEZDETE # Az i valtozni fog 3-tol addig a szamig amit maegadtunk parameterkent: for i in `seq 3 $1` do # minden ujabb szam az elozo ketto osszege: fibo=`expr $f1 '+' $f2` echo " $fibo" # az uj f1 a regi f2 lesz f1=$f2 # az uj f2 pedig a kiszmolt osszeg f2=$fibo done # a ciklus VEGE else echo "Nem megfelelo parameter n > 90 !" fi else echo "Nem szam az elso parameter" fi else echo "a parameterek szama nem egy, hanem $# !!!" fi
Adjon futási jogot és ellenőrizze és vizsgálja meg működését: Próbálja ki a szkript működést különböző paraméterekkel.
./labminta.sc 99 ./labminta.sc 7 7 ./labminta.sc b ./labminta.sc
Az alábbi feladatok közül két megadottat végezzen el önállóan (a feladatok sorszámát e-maiben kapja). Amennyiben szükséges a program ellenőrizze a paraméterek számát és helyességét (egész számok esetén, hogy szám-e; fájlok, könyvtárak létezése, stb.) és tartalmazzanak rövid magyarázatot is.
A szkripteket <MONOGRAM>1.sc és <MONOGRAM>2.sc néven mentse. Működésükről készítsen legalább két képet és illessze be a dokumentumba.
A két szkript sorait illessze be a dokumentumba és mentse dokumentumot Lab12-MONOGRAM.odt néven.
Küldjön emailt a pferi@kmf.uz.ua címre. A levél tárgya legyen Saját Név LAB12 12 tartalma pedig a következő:
<Saját Név> jelen nyilatkozatom elküldésével kijelentem, hogy ezt a feladat önálló munkám, annak elkészítése során az önálló munka kitétel tekintetében a feladatot kiadó és az azt ellenőrző oktatót nem tévesztettem meg. Jelen nyilatkozat elküldésével tudomásul veszem, hogy amennyiben a feladatot nem magam készítettem, a tárgy oktatója befogadását és a félév aláírását megtagadja.
A levélhez csatolja a dokumentumot.