Skripty - úvod. Linux - skripty 2

Podobné dokumenty
PROGRAMOVÁNÍ V SHELLU

PSK3-9. Základy skriptování. Hlavička

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Sekvenční a podmíněné provádění

Střední odborná škola a Střední odborné učiliště, Hořovice

BASH. Kouzla s příkazovou řádkou. Petr Koloros

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

C2110 Operační systém UNIX a základy programování

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Střední odborná škola a Střední odborné učiliště, Hořovice

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Služba ve Windows. Služba (service) je program

Linux-příkazový řádek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

6 Příkazy řízení toku

Nastroje na zpracovani textu:

PRACUJEME S SHELLEM Ať žije BASH.

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Úvod do Operačních Systémů

Operační systémy. Cvičení 1: Seznámení s prostředím

Domácí příprava k předmětu YD38UOS Úloha 10 práce s lokálními soubory pokračování

Inovace bakalářského studijního oboru Aplikovaná chemie

Základy PERLu snadno a rychle

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Proměnné a parametry. predn_08.odt :00:38 1

Skriptovací jazyky. Obsah

Střední odborná škola a Střední odborné učiliště, Hořovice

PHP tutoriál (základy PHP snadno a rychle)

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Přednáška 1. Úvod. Historie OS Unix. Architektura OS Unix. Interpret příkazů. SHELL. Zpracování příkazové řádky. Speciální znaky. Zkratky příkazů.

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

Algoritmizace a programování

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Úvod, jednoduché příkazy

C2110 Operační systém UNIX a základy programování

Střední odborná škola a Střední odborné učiliště, Hořovice

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Vytvoření bootovatelného média

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Program a životní cyklus programu

Střední odborná škola a Střední odborné učiliště, Hořovice

DUM 20 téma: Test dávky

6. Příkazy a řídící struktury v Javě

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

Algoritmizace. 1. Úvod. Algoritmus

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Basic256 - úvod do programování Příklady. ing. petr polách

Stručný návod k programu Octave

Úvod do Operačních Systémů

Speciální soubory. Editace příkazové řádky. $ fg mp3blaster $./skript.sh. [2]+ Stopped./skript.sh $ bg [2]+./skript.sh & $ fg 2./skript.

Úvod do Operačních Systémů

Programovací jazyk Pascal

ÚVOD DO UNIXU. Metodický list č. 1

Střední odborná škola a Střední odborné učiliště, Hořovice

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Základní příkazy UNIXu (Linuxu)

Úvod do Operačních Systémů

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Řídicí struktury. alg3 1

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

Úvod do Operačních Systémů

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

Poslední nenulová číslice faktoriálu

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Úvod do programování - Java. Cvičení č.4

1. Téma 03 - Rozhodování

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

DUM 15 téma: Další příkazy příkazové řádky

Operační systémy. Cvičení 4: Programování v C pod Unixem

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

Základy PHP. Josef Podstata. KTE/IZTT - Zpracování textu, tabulek a prezentací. Univerzita Palackého v Olomouci

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Sada 1 - PHP. 03. Proměnné, konstanty

Rozšíření ksh vůči sh při práci s proměnnými

Rozdělení operačních systémů

Martin Hejtmánek hejtmmar

ANOTACE vytvořených/inovovaných materiálů

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Regulární výrazy. Filtry grep, sed a awk.

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4

Úvod do UNIXu. Okruh č. 1 - přihlášení, historie, práce se soubory. Jakub Galgonek. verze r1. inspirováno materiály Davida Hokszy

Základy programování (IZP)

5. kapitola Spouštění aplikací Visual Basic.Net, spustitelné soubory

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Transkript:

Linux - skripty Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedogických pracovníků (N ÚV).

Skripty - úvod Co jsou to skripty? Je to prostě jen seřazený seznam příkazů, které se mají vykonat. Skriptování má své výhody. Takový skript nemusíte kompilovat Spustíte jej na jakémkoli počítači (PC, Mac, Atari, Amiga, Sun, Sgi,...) a operačním systému, kde běží Bash (Linux, BSD, Windows, MiNT, AIX, Solaris,..) Skripty ukládáme do standardních textových souborů Pro editaci používáme textové editory, které nepřidávají formátovací značky Linux - skripty 2

První skript Výuku programování bývá zvykem začínat primitivním programem hello world vytvoříme soubor první, s následujícím obsahem: #!/bin/bash echo Hello world. První řádka označuje, který interpret se má použít ke spuštění příslušného souboru (bash). Na rozdíl od Windows v Linuxu nezáleží na příponě souboru ale na metadatech Příkaz echo vypíše na obrazovku (standartní výstup) následující text Linux - skripty 3

Spuštění skriptu pro spuštění musíme souboru nastavit příslušné oprávnění, povolení spouštět: chmod a+x první přepneme se do příkazového řádku a spustíme:./první programy v aktuálním adresáři je třeba spustit tak, že se na aktuální adresář odkážete v cestě Cesta pro vyhledávání většinou obsahuje adresáře jako /bin nebo /usr/bin, v domovském adresáři uživatele pokud soubor skriptu zkopírujeme tam, můžeme ho spouštět přímo: první Linux - skripty 4

Podmínky Průběh skriptu může někdy narazit na situaci, kde bude třeba o něčem rozhodnout Za tímto účelem máme k dispozici podmínku: if [ podminka ]; then prikaz fi Pokud je podmínka podminka pravdivá, provede se prikaz Je však možné konstruovat i složitější podmínky, třeba jako je tato: if [ vyraz1 ]; then prikaz1 elif [ vyraz2 ]; then prikaz2 else prikaz3 fi Linux - skripty 5

Výrazy v podmínkách! výraz negace výrazu výraz1 -a výraz2 logická spojka AND výraz1 -o výraz2 logická spojka OR -e soubor soubor existuje -f soubor soubor existuje a je to soubor -d soubor soubor existuje a je to adresář soubor1 -nt soubor2 soubor1 je novější než soubor2 soubor1 -ot soubor2 soubor1 je starší než soubor2 -n řetězec řetězec je neprázdný -z řetězec řetězec je prázdný řetězec1 = řetězec2 řetězce jsou shodné řetězec1!= řetězec2 řetězce jsou různé Linux - skripty 6

Proměnné Operační systémy se již dlouhou dobu neobejdou bez možnosti nastavit určité parametry za chodu. Využívá se k tomu nástroj zvaný proměnná prostředí Můžeme je vypsat příkazem env USER = jméno uživatele GROUPS = seznam skupin, jichž je současný uživatel členem HOME = domovský adresář HOSTNAME = jméno počítače OSTYPE = typ operačního systému PWD = aktuální pracovní adresář RANDOM = náhodné číslo do 0 do 32767 můžeme vytvořit i vlastní proměnné PROMENNA="Moje proměnná. při použití proměnné získáme hodnotu pomocí $ echo $PROMENNA Linux - skripty 7

Cyklus Cyklus umožňuje provést určitou část skriptu vícekrát, třeba s různými parametry. FOR for (( a=1 ; $a-4 ; a=$a+1 )) do echo $a done První z nich přiřazuje proměnné a hodnotu 1. Provede se pouze na začátku prvního průchodu. Druhý výraz slouží k rozhodování, zda se má smyčka vykonat. K vykonání dojde, pokud bude mít zde uvedený výraz hodnotu různou od nuly. V prvním průchodu je a=1, takže a-4 není nula. Před každým dalším průchodem ale bude proveden třetí výraz, kde se hodnota a zvýší vždy o 1. Ve druhém průchodu tak nabyde hodnoty 2 a ve třetím 3 Po skončení třetího průchodu bude opět aplikován třetí výraz a hodnota a se tak zvýší na čtyři. Nyní je ovšem výsledkem druhého výrazu (a-4) nula, takže čtvrtý průchod smyčkou již neproběhne. Po spuštění uvidíte číslice 1, 2 a 3 Linux - skripty 8

while a until Cykly while a until pracují tak, že opakují určitý postup, dokud je splněna určitá podmínka (cyklus while) nebo dokud určitá podmínka splněna není (cyklus until). Syntaxe je prakticky shodná cislo=1 until [ $cislo -eq 5 ]; do echo "$cislo" cislo=$((cislo+1)) done while [ $cislo -gt 0 ]; do echo "$cislo" cislo=$((cislo-1)) done Tento program vypíše: 1 2 3 4 5 4 3 2 1 Linux - skripty 9 První cyklus se opakuje tak dlouho, dokud nenastane jeho podmínka, tj. dokud proměnná cislo nabyde hodnoty 5. Druhý cyklus se opakuje tak dlouho, dokud je jeho podmínka splněná, tj dokud je proměnná cislo větší než 0.

Break a continue Někdy můžeme mít zájem běh nějakého cyklu ukončit úplně nebo nedokončit iteraci a provést další opakování. K tomu slouží příkazy break a continue: for i in 1 2 3 4 5 6; do if [ $i -eq 3 ]; then continue elif [ $i -eq 5 ]; then break fi echo $i done Výstupem tohoto skriptu bude 1 2 4 Linux - skripty 10 Když se do proměnné i dostala trojka, použili jsme příkaz continue, který přeskočil zbytek těla konstrukce for a přistoupil k další hodnotě, tedy ke čtyřce. V momentě, kdy se do proměnné i dostala pětka, provedl se příkaz break, který ukončil provádění celého cyklu.