Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
vyuka:metaznaky_shellu [2016/11/02 15:05] admin uvozovky neprevadet |
vyuka:metaznaky_shellu [2023/11/15 20:54] |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | =====Metaznaky shellu===== | ||
- | ====Úvod==== | ||
- | //Shell// je základní program, pomocí kterého v textovém režimu komunikuje uživatel s počítačem. První, co si každý vyzkouší je, že se pomocí něj dají spouštět programy (textové - např. editor '' | ||
- | |||
- | ===Mimochodem: | ||
- | Samotných shellů existuje více. Klasický shell se jmenuje //Bourne shell//, a jeho binárka je ''/ | ||
- | |||
- | **Shell** je plnohodnotný programovací jazyk - má proměnné, i klasické řídící příkazy (if-else, for, while). Oproti většině klasických jazyků (C,C#,Java) se ovšem nekompiluje, | ||
- | |||
- | Většinou používáme shell ke spouštění příkazů a programů. Přičemž se na první pohled nepozná rozdíl mezi interním příkazem shellu (echo, cd, read, pwd, let, eval, set, exit, true) a externím programem (jenž je uložen v jedné ze složek v systémové $PATH, kupříkladu v /usr/bin ... příkladem je '' | ||
- | |||
- | ===Proces vykonávání=== | ||
- | Co ale shell udělá, když mu napíšete něco jako: | ||
- | <code bash> | ||
- | cut -f: -n3 | ||
- | </ | ||
- | |||
- | - Koukne se do proměnné $IFS. Ta je defaultně nastavená na bílý znak (mezeru). '' | ||
- | - První neprázdná položka se bere jako příkaz (může jít i o program s cestou). Shell spustí tento příkaz/ | ||
- | - Po ukončení programu shell znovu zobrazí příkazovou řádku. Ta může vypadat asi takhle: | ||
- | <code bash> | ||
- | uzivatel@pocitac: | ||
- | </ | ||
- | ---- | ||
- | |||
- | |||
- | ===Ukončení programů: | ||
- | Některé programy se ukončí samy poté, co provedou výpočet a zobrazí výstup. Některé ale ne. Většinou čekají na nějaký uživatelský vstup, nebo jsou svou podstatou nekonečné ('' | ||
- | |||
- | |||
- | ===Metaznaky=== | ||
- | Metaznaky jsou znaky na vstupu se speciálním významem. | ||
- | |||
- | ^ Znak ^ Co dělá ^ Příklad ^ | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | ''?'' | ||
- | | '' | ||
- | | (''>'' | ||
- | | '' | ||
- | | ''&'' | ||
- | | ''&&'' | ||
- | | '' | ||
- | |||
- | ===metaznaky pro ignorování metaznaků: | ||
- | |||
- | ^ Znak ^ Co dělá ^ Příklad ^ | ||
- | | '' | ||
- | | ''"'' | ||
- | | '' | ||
- | |||
- | |||
- | ===Příklady=== | ||
- | <code bash> | ||
- | # Každý z řádků vytiskne zpětné lomítko | ||
- | echo \\ | ||
- | echo ' | ||
- | </ | ||
- | | ||
- | |||
- | <code bash> | ||
- | #Teď je 19:05 | ||
- | echo "Teď je `date +%H: | ||
- | |||
- | #Prakticky stejné jako cat * | ||
- | cat `ls` | ||
- | </ | ||
- | |||
- | ===Odkazy=== | ||
- | * [[http:// | ||
- | * [[http:// |