UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta
Skripty Echo Komentář - # Příkazový soubor se z hlediska uživatele chová stejně jako binární Proměnná prostředí PATH Jména souborů – * - všechny znaky – ? Jeden znak – [] – skupina znaků
Speciální znaky Speciální znaky - ;&()<> Pokud nemají být chápány jako speciální, musí se před ně uvést \ (backslash)
Přesměrování vstupů a výstupů Kolona (pipe) Znak & na konci příkazu – spuštění v pozadí
Proměnné prostředí HOME, PATH, MAIL $0 až $9 – prvních 10 argumentů shellu $# - počet argumentů shell skriptu $$ - PID současné instance shellu $! – PID posledního procesu spuštěného na pozadí
Prostředí Jméno = hodnota Svázání s prostředím shellu: Export jméno
Podmíněné příkazy If podmínka then příkaz else příkaz fi
Cykly for proměnná in seznam_slov do seznam příkazů done
Cykly While podmínka Do seznam_příkazů Done Until neplatí_podmínka Do seznam_příkazů Done Break, continue
Další prvky Operátory && Funkce Function jméno () {seznam_příkazů} Return – návratová hodnota funkce je návratovou hodnotou posledního příkazu před return Vestavěné příkazy – Trap, break, cd, continue, eval, exec, export, read, set, shift, umask, wait, …
Periodické spouštění skriptů Démon cron Tabulka crontab – $ crontab –e (editace crontab aktuálního uživatele) – $ crontab –l (vypsání úloh) – $ export visual=editor (editor pro editaci crontab) /etc/cron.xxx - skripty spouštěné cronem, kde xxx je časová perioda
Crontab Struktura zápisu: * * * * * command Minuty (0-59) Hodiny (0-23) Den v měsíci (0-31) Měsíc (1-12) Den v týdnu (0-6, 0=neděle)
Příklad Zápis v crontab: * 2 * * * skript Spustí skript každé 2 minuty