Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL Kód DUM : VY_32_INOVACE_LIN.1.02
Název materiálu: Anotace Autor Jazyk Očekávaný výstup
02- Zásady psaní a řetězení příkazů, jednoduchý skript
DUM naučí žáky zásady práce s příkazy shellu BASH, zásady psaní skriptů Ing. Vladimír KEBERT, CSc (Autor) Čeština RVP 18-20-M/01 Informační technologie, předmět: Operační systémy, 3 ročník
Speciální vzdělávací potřeby Žádné Klíčová slova
Př. Linux, skript, BASH, CSH, skript, příkaz, prompt, znak,
Druh učebního materiálu Prezentace s prvky interaktivity Druh interaktivity Cílová skupina
Kombinované Žáci 3. ročníku
Stupeň a typ vzdělávání
Odborné vzdělávání
Typická věková skupina
16 - 19 let
Celková velikost
Velikost materiálu v kB : 273
| rozčlenění tématického celku: Linux-systémová část
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 1. Skript (Shellový, BASHový skript) - je strukturovaný řetězec příkazů s účelem vykonat určitou činnost - má charakter spustitelné aplikace - pomocí skriptu lze automatizovat hromadné nebo opakující se operace - skriptem lze konfigurovat systém, startovat aplikace, servery a služby - skriptem lze definovat a používat ochranu počítače 2. Struktura skriptu - skript se edituje jako textový soubor - skript má atribut „spustitelný“ - příkazem $chmod a+x skript.sh - skriptům se zpravidla přidělí přípona *.sh - skript se uvozuje #!bin/bash - skript se spouští s uvedením $sh skript.sh
Obraz č. 1 Příklad úvodu skriptu:
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 3. Zásady psaní - prostředí - v terminálu se doporučuje textový editor “nano“ nebo „mcedit“ - v grafickém prostředí „gedit“ nebo „kedit“ - je vhodné založit soubor příkazem $touch a postupovat pracovní logikou: Např: 1. založit si soubor $touch soucet_cisel.sh 2. vyřešit práva a spustitelnost $chmod a+x soucet_cisel.sh 3. editovat skript např. $nano soucet_cisel.sh 4. Psaní skriptu - skript se uvozuje #!bin/bash - poznámka se píše za # který způsobuje ignorování celého řádku interpretem - apostrofy ' ' chrání řetězec před interpretací - uvozovky “ “ též chrání obsah před interpretací ale umožní použít zástupné znaky
Obraz č.2 Editor „NANO“ je možným nástrojem ke tvorbě skriptů
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 5. Základní výrazy ve skriptech: break - vyskočí z cyklu a pokračuje dále za koncem cyklu Sleep – čekej, přeruš chod skriptu v sekundách sleep 2 čeká 2 sekundy : - nulový příkaz continue - spustí další iteraci cyklu . - provede příkaz v aktuálním shellu eval - vyhodnotí zadaný výraz shift - posune poziční parametry read - načte uživatelský vstup, jako argument se použije název proměnné, do které se má uložit exit n - ukončení skriptu s návratovým kódem n (n = 0 - úspěšné ukončení, n = 1 až 125 - chyba, ostatní n jsou rezervovány) printf - není dostupný ve starých shellech a při vytváření formátovaného výstupu byste mu měli dávat přednost před příkazem echo podle specifikace X/Open
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 6. Jazyk, práce skriptu - BASH je jazyk interpretovaný. - shell vykonává řádek po řádku a volá příkazy - proto úprava skriptu má být přehledná a po řádcích - skript by měl komunikovat s uživatelem !!!! 7. Důležité operátory a fráze [1]:
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 8. Další operátory Operátor Význam
Operátor
Význam
+
součet
*
součin
-
rozdíl
^
mocnina
podíl
< = >
porovnání
/
9. Přesměrování výstupu: Operátor
Význam
Příklad
|
Výstup jednoho předá na vstup druhého programu
Sd = `echo "scale=2;sqrt($b2)"|bc -l`
>
Výstup přesměruje do souboru, pokud není vytvoří jej, pokud je, přepíše jej
ls -la > hardware.txt
>>
Jako minulý ale výsledek připojí na konec
ls -la >> modules.txt
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 10. Využití jiného programu –> bc -l (Matematický koprocesor): - BASH nedokáže některé výpočty (desetinná čísla, odmocniny atd.) - Žádost o výpočet lez předat úprogramu bc -l - Komunikace s bc probíhá interaktivně. Podporu desetinných čísel zapnete pomocí přepínače -l. 11. První skript (sečte tři čísla a vypočte průměr) #!bin/bash #tento skript sečte tři čísla echo "Tento skript vypočte součet tří celých čísel" echo "zadejte první číslo" read a echo "zadejte druhé číslo" read b echo "zadejte třetí číslo" read c echo "zadali jste čísla" $a ";" $b ";" $c soucet=$(($a+$b+$c)) echo "Váš součet činí:........" $soucet exit
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 12. Spuštění a činnost skriptu. Umí jen celá čísla Shellový skript lze spustit syntaxí: Skript musí být spustitelný:
$sh /cesta/skript.sh $chmod a+x skript.sh
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL 13. Upravte skript, aby pracoval s destinnými čísly na 3 desetinná místa -sečtení proměnných předáme koprocesoru bc -l
Střední odborná škola a Střední odborné učiliště, Hořovice DIGITÁLNÍ UČEBNÍ MATERIÁL
Přehled použité literatury a děl: Pokud není uvedeno jinak, autorem použitých mediálních příloh (obrázků, textů, interaktivních materiálů) je autor tohoto digitálního učebního materiálu. Použité zdroje: 1.FEDORA FOUNDATION. Programování. Wiki - dokumentace projektu Fedora CZ: návody:f16 [online]. Fedoraproject.org, 2012, 2012-05-29 [cit. 2013-03-05]. Dostupné z: http://wiki.fedora.cz/doku.php?id=navody:f12:prompt#programovani 2. Martinek,D. Bourne Again Shell-BASH. [online] [cit. 2013-03-05]. Dostupné na Internetu: http://www.fit.vutbr.cz/~martinek/gymnazium/bash.html.cs.windows-1250 3. Fuchs,J. BASH-I. Seriál na webu abclinuxu.cz. [online] [cit. 2013-03-05]. Dostupné na Internetu: http://www.abclinuxu.cz/clanky/navody/bash-i