C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -1C2110 Operační systém UNIX a základy programování Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno PS/2020 Distanční forma výuky: Rev3 10. lekce / modul 1 C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -2- Bash ➢ Přesměrování vstupu ze skriptu C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -3Přesměrování vstupu ze skriptu Přesměrování standardního vstupu programu my_command ze souboru skriptu. ....... ./my_command << EOF prvni radka textu druha radka textu treti radka textu EOF ...... značka určující konec vstupu (volí uživatel) konec vstupu, značku nesmí obklopovat mezery text, který tvoří načítaný vstup Tento způsob přesměrování je obzvláště výhodné používat ve skriptech, nicméně funguje i v příkazové řádce. Výhodou je expanze proměnných v načítaném textu. C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -4- Ukázky #!/bin/bash PHASE=1.2 gnuplot << EOF plot sin(x+$PHASE) EOF #!/bin/bash for((I=1;I<=10;I++)); do NAME=`printf "%02d.txt" $I` cat << EOF > $NAME Toto je soubor cislo: $I EOF done Vyznačený text je poslán do standardního vstupu příkazu cat, proměnné jsou expandovány před odesláním vstupu, příkaz cat jej pak uloží do souboru $NAME. Uvedeným způsobem lze programově vytvářet skripty pro gnuplot. Výsledek příkazů uvozených zpětnými uvozovkami `` je uložen do proměnné NAME. C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -5Cvičení 1 1. Vytvořte skript, který vytvoří deset souborů. Jméno souboru bude ve formátu XX.txt, kde XX je číslo souboru. Pokud je číslo souboru menší než deset, tak pro první cifru v názvu použijte znak 0. Každý soubor bude obsahovat následující text (X je číslo souboru): 2. Vytvořte skript, který se dotáže uživatele na název souboru s obrázkem ve formátu png a do něj poté vykreslí funkci sin(x). Automaticky vytvoreny textovy soubor Cislo souboru je: X