Skript
Z MiS
(Rozdíly mezi verzemi)
(Přidány funkce) |
(→Cyklus for: Přidány příklady cyklů v Linuxu.) |
||
| Řádka 38: | Řádka 38: | ||
for ''název-proměnné'' in ''varianty-oddělené-mezerou-nebo-metaznak''; do ''příkaz'' $''název-proměnné'' | for ''název-proměnné'' in ''varianty-oddělené-mezerou-nebo-metaznak''; do ''příkaz'' $''název-proměnné'' | ||
* Příklady: | * Příklady: | ||
| + | for user in Franta Marie Karel; do echo Hello $user | ||
| + | Postupně pozdraví všechny uživatele — pro každého vypíše pozdrav "Hello Franta" apod. | ||
| + | for directory in data zalohy pokusy; do mkdir $directory | ||
| + | Vytvoří uvedené složky v aktuálním adresáři. | ||
for user in franta marie karel; do usermod -aG skupina $user | for user in franta marie karel; do usermod -aG skupina $user | ||
| + | Přidá všechny uvedené uživatelské účty do skupiny s názvem <em>skupina</em>. Musí spouštět správce počítače (<code>sudo</code>). Uživatelské účty musí existovat (<code>adduser</code>). | ||
Viz také: | Viz také: | ||
| Řádka 53: | Řádka 58: | ||
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 == | == Funkce == | ||
Verze z 14. 1. 2026, 08:05
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 echo Hello $user
Postupně pozdraví všechny uživatele — pro každého vypíše pozdrav "Hello Franta" apod.
for directory in data zalohy pokusy; do mkdir $directory
Vytvoří uvedené složky v aktuálním adresáři.
for user in franta marie karel; do usermod -aG skupina $user
Přidá všechny uvedené uživatelské účty do skupiny s názvem skupina. Musí spouštět správce počítače (sudo). Uživatelské účty musí existovat (adduser).
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