Skript
Z MiS
(Rozdíly mezi verzemi)
(→Cykly: Doplněn cyklus for ve Windows a odkaz na materiály o BASHi mimo MiŠ.cz) |
(Přidány funkce) |
||
(Není zobrazena 1 mezilehlá verze od 1 uživatele.) | |||
Řádka 32: | Řádka 32: | ||
* Pro ostatní například: [http://www.linuxexpres.cz/praxe/bash-11-dil LinuxExpres.cz → BASH]. | * Pro ostatní například: [http://www.linuxexpres.cz/praxe/bash-11-dil LinuxExpres.cz → BASH]. | ||
− | == | + | |
− | ; Linux | + | == Cyklus <tt>for</tt> == |
+ | ; Linux (bash) | ||
+ | * Základní syntaxe: | ||
+ | for ''název-proměnné'' in ''varianty-oddělené-mezerou-nebo-metaznak''; do ''příkaz'' $''název-proměnné'' | ||
+ | * Příklady: | ||
+ | for user in franta marie karel; do usermod -aG skupina $user | ||
+ | |||
+ | Viz také: | ||
* Pro studenty Cisco Networking Academy viz NDG Linux Essentials. | * Pro studenty Cisco Networking Academy viz NDG Linux Essentials. | ||
* Pro ostatní například: [http://www.linuxexpres.cz/praxe/bash-9-dil LinuxExpres.cz → BASH]. | * Pro ostatní například: [http://www.linuxexpres.cz/praxe/bash-9-dil LinuxExpres.cz → BASH]. | ||
Řádka 39: | Řádka 46: | ||
; Windows | ; Windows | ||
* Základní syntaxe: | * Základní syntaxe: | ||
− | for %''název-proměnné'' in ('' | + | for %''název-proměnné'' in (''varianty-oddělené-mezerou-nebo-metaznak'') do ''příkaz'' %''název-proměnné'' |
* Příklady: | * Příklady: | ||
for %x in (a*.jpg) do ren %x %x.bkp | for %x in (a*.jpg) do ren %x %x.bkp | ||
Řádka 46: | Řádka 53: | ||
for %%x in (a*.jpg) do ren %%x %%x.bkp | for %%x in (a*.jpg) do ren %%x %%x.bkp | ||
for %%slozka in (data zalohy pokusy) do if not exist %%slozka md %%slozka | for %%slozka in (data zalohy pokusy) do if not exist %%slozka md %%slozka | ||
+ | |||
+ | |||
+ | == Funkce == | ||
+ | ; Linux (bash) | ||
+ | * Deklarace funkce: | ||
+ | function ''název-funkce'' { | ||
+ | ''příkazy'' | ||
+ | } | ||
+ | * Volání funkce: | ||
+ | ''název-funkce'' |
Aktuální verze z 25. 5. 2015, 16:47
Obsah |
Co je skript?
- Pokud často spouštíme stejnou nebo podobnou posloupnost příkazů (třeba zálohování nějakých složek atd.), můžeme si zjednodušit práci.
- Zapíšeme tyto příkazy do souboru (označujeme ho jako skript) a spuštěním tohoto souboru se provedou všechny příkazy naráz.
- Lze zahrnout i podmínky, cykly, zadávat parametry apod.
Vytvoření a spuštění skriptu
Windows
- Příkazy zapište do souboru s příponou .bat.
- Takový soubor půjde spustit jako program.
- Spouštíme ho buď ze složky, kde je uložen:
skript.bat
- ... nebo ho přesuneme do složky, která je v proměnné PATH. Pak lze skript spustit ze kterékoli složky!
GNU/Linux
- Přípona souboru zde nerozhoduje, obvykle se žádná přípona nepřipojuje.
- Aby šel program spustit, musíme nastavit práva pro spuštění:
chmod a+x skript
- Skript musíme buď:
- přesunout do nějakého adresáře uvedeného v proměnné PATH,
- nebo spouštět s uvedením cesty:
./skript
POZOR! Pokud není skript v proměnné PATH, na rozdíl od Windows nestačí pro spuštění napsat ve složce skriptu:
skript
Podmínky
- Pro studenty Cisco Networking Academy viz kurz NDG Linux Essentials.
- Pro ostatní například: LinuxExpres.cz → BASH.
Cyklus for
- Linux (bash)
- Základní syntaxe:
for název-proměnné in varianty-oddělené-mezerou-nebo-metaznak; do příkaz $název-proměnné
- Příklady:
for user in franta marie karel; do usermod -aG skupina $user
Viz také:
- Pro studenty Cisco Networking Academy viz NDG Linux Essentials.
- Pro ostatní například: LinuxExpres.cz → BASH.
- Windows
- Základní syntaxe:
for %název-proměnné in (varianty-oddělené-mezerou-nebo-metaznak) do příkaz %název-proměnné
- Příklady:
for %x in (a*.jpg) do ren %x %x.bkp for %slozka in (data zalohy pokusy) do if not exist %slozka md %slozka
- Ve skriptech je třeba znak procento zdvojit:
for %%x in (a*.jpg) do ren %%x %%x.bkp for %%slozka in (data zalohy pokusy) do if not exist %%slozka md %%slozka
Funkce
- Linux (bash)
- Deklarace funkce:
function název-funkce { příkazy }
- Volání funkce:
název-funkce