C2110 Operační systém UNIX a základy programování 6. lekce -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 6. lekce PS/2021 Prezenční forma výuky: Rev3 C2110 Operační systém UNIX a základy programování 6. lekce -2Shrnutí L5 ➢ Bash C2110 Operační systém UNIX a základy programování 6. lekce -3Interaktivní režim [kulhanek@wolf ~]$ jméno uživatele jméno počítače aktuální adresář (~ znamená domovský adresář /home/username) Prompt - typ uživatele / výzvy ($ běžný uživatel, # super uživatel, další možné %, >) místo pro příkaz Příkaz se vykoná zmáčknutím klávesy Enter. Historie: pomocí kurzorových šipek nahoru a dolů lze procházet seznamem již zadaných příkazů. Příkaz z historie lze znovu použít nebo upravit a upravený použít. Historie je přístupná i příkazem history. Automatické doplňování: zmáčknutím klávesy Tab (tabulátor) se interpret příkazové řádky snaží dokončit rozepsané slovo. Doplňují se jména příkazů, cesty a jména souborů (pokud jeden stisk nic nevyvolá, existuje více možností doplnění, opakovaný stisk je zobrazí). Shell interpretuje (expanduje) divoké znaky a jiné speciální znaky, před vlastním spuštění příkazu. V interaktivním režimu je možné spouštět řídící struktury jazyka bash. Interaktivní režim se ukončuje příkazem exit. C2110 Operační systém UNIX a základy programování 6. lekce -4Skript v Bashi #!/bin/bash # toto je komentar echo 'Toto je skript v interpretu Bash!' echo "Obsah adresare `pwd` je:" ls # vypise obsah adresare A=6 # nastaveni hodnoty promenne A echo "Hodnota promenne A je $A" echo "jeden prikaz"; echo "druhy prikaz" ./mujprikaz prvni_argument druhy_argument \ treti_argument pořadívykonávánípříkazů • prázdné řádky se ignorují • text uvozený znakem # se ignoruje (používá se ke komentovaní funkčnosti skriptu) • na jeden řádek lze uvést více příkazů, příkazy se oddělují středníkem ; • jeden příkaz lze napsat na více řádků pomocí zpětného lomítka \ ihned následuje nový řádek C2110 Operační systém UNIX a základy programování 6. lekce -5Neinteraktivní režim - skripty 1) Nepřímé spouštění Spouštíme interpreter jazyka a jako argument uvádíme jméno skriptu. $ bash muj_skript_v_bashi Skripty nemusí mít nastaven příznak x (executable). 2) Přímé spouštění Spouštíme přímo skript (shell automaticky spustí interpreter). $ chmod u+x muj_skript_v_bashi $./muj_skript_v_bashi Skripty musí mít nastaven příznak x (executable) a interpreter (součást skriptu). #!/bin/bash echo 'Toto je skript v interpretu Bash!' C2110 Operační systém UNIX a základy programování 6. lekce -6Nová látka ➢ Bash C2110 Operační systém UNIX a základy programování 6. lekce -7- Obsah Bash ➢ Proměnné • nastavení a získaní hodnoty, interpretace řetězců • operace s celými čísly • proměnné a procesy ➢ Vstup a výstup • read, echo, printf • argumenty skriptu