archeolog.cz: Obří Hrad Keltské oppidum Stradonice Habrůvka, jeskyně Býčí skála pravěk datace, časová osa, pravěké dějiny
Apple iPad Smart Case šedá - Samsung Galaxy Tab 10.1 černé - Samsung Galaxy Tab 10.1 bíle - Puzdro Asus Eee Pad Versa černé - Pouzdro Apple iPad Smart Cover černé - Pouzdro POINT OF VIEW Mobii 7" černé - Pouzdro ZTE V9C-1 černé - Pouzdro Google Nexus 7 oražové - Pouzdro Google Nexus 7 šedé - Pouzdro Samsung Galaxy Note 10.1 bíle - Pouzdro Samsung Galaxy Note 10.1 černé
   Témata: Home

Výlety

Foto

Technika

Výhledy

Cestování

K zamyšlení


LINUX4ALL archiv

Na webu

Pobavení

Příroda

Report, Dokument

Sport

9. Kurz Linuxu - Prikazove interpretery

- STEFi - 2000-12-31 10:00:00
Tento serial o Linuxu byl vytvoren Milanem Cermakem v roce 2000 a s jeho svolenim zverejnen na strankach linux4all.misto.cz......


Příkazové interpretery
======================

Každý příkazový interpreter se projevuje tak, že vypisuje příkazový
řádek a plní uživatelovy příkazy. Z toho je možné odvodit, že
příkazovým interpreterem je například "command.com" v systému M$-DOS,
nebo ta věc, co se objeví po příhlášení do Linuxu. Úmyslně neříkám
(nebo spíše nepíšu), která věc to je, neboť v Linuxu je na výběr
několik příkazových interpreterů.

Těmi základními (a ve většině případů nutnými) jsou "bash"
(Bourne-Again Shell) a "tcsh" (Turbo-C Shell). "Bash" vychází
z původního Unixového interpreteru "sh" a je základním interpreterem
distribucí RedHat a Debian. Musí být nainstalován, protože většina
skriptů je psána právě pro něj. "Tcsh" je vylepšený interpreter "csh"
(C Shell). Jeho název vychází z toho, že syntaxe jeho příkazů je velmi
podobná jazyku C.

Teď si možná řeknete, v čem se mohou dva příkazové intepretery tak
lišit, když "command.com" zvládá maximálně smyčky přes výčet souborů
a rozhodování podle existence souboru nebo hodnoty parametru. Odpovědí
je, že to sice ovládají oba interpretery také, ale umí toho ještě
daleko víc. Například proměnné nebo definice funkcí nebo větvení a to
jak příkazem "if" tak i příkazem "case" (funkce odpovídá
stejnojmennému příkazu v jazyce Pascal). Jsou vlastně takovými malými
programovacími jazyky. Pokud se chcete podívat, jak takový skript
vypadá, podívejte se na startovací skripty do adresáře "/etc/init.d/"
nebo "/etc/rc.d/" (podle toho, který najdete). Další příklady můžete
najít v adresáři "/usr/doc/bash/example" nebo "/usr/doc/tcsh/example".

Jak už jsem napsal v úvodu, příkazových interpreterů pro Linux je
několik (a nejsou to jen ty dva, o kterých jsem se zmínil). Vládne
taková tendence pokrýt shelly celou abecedu. Každopádně už existují
"ash", "bsh" (Bourne Shell - předchůdce "bash"), výše zmíněný "csh",
"ksh" (Korn Shell) a "zsh". Jak je vidět, autoři shellů to berou
poněkud nesystematicky. Existují samozřejmě i tací, kteří tuto
tendenci neuznávají. A tak máme například "pdksh", "sash", "bash"
a "tcsh".

Teď bych se měl zmínit o tom, jak si interpreter vyzkoušet a případně
(pokud se nám líbí) i nastavit jako hlavní.
Vyzkoušení je jednoduché. Vzhledem k tomu, že každý shell je program,
nic nám nebrání si ho prostě z příkazové řádky jiného shellu spustit.
Ukončit by se měl dát příkazem "exit" nebo "quit".
Se změnou základního interpteretu (tedy toho, který se spustí hned po
přihlášení) je to trochu složitější. Pokud jsme superuživatel
(tedy "root"), můžeme to vyřešit editací souboru "/etc/passwd".
Program shellu je uveden jako poslední položka záznamu.
Pokud nejsme superuživatel, musíme ho buď o změnu požádat (což nebývá
nejpříjemnější), nebo použít příkaz "chsh" (CHange SHell).
Spustíme-li tento program bez parametrů, zobrazí se dotaz, který
interpreter si chceme nastavit jako hlavní. Samozřejmě můžeme tento
program použít i jako "root" (je to jistě příjemnější) a pokud jako
parametr přidáme uživatelské jméno, můžeme komukoliv nastavit
jakýkoliv shell.
Jako běžný uživatel máme výběr interpreterů trochu omezen. Jednak
samozřejmě tím, které shelly jsou nainstalovány, a pak také tím, které
shelly nám administrátor dovolí používat. Jejich seznam je uveden
v souboru "/etc/shells".

A na závěr opět poznámka, že ke každému interpreteru existuje (nebo by
měla existovat) též manuálová stránka.
STEFi (c) 2004 - stefi [at] netdev [dot] cz
Pokud chcete zde publikované materiály použít, prosím, informujte mě. If you wish to use these published materials, please, let me know.
0.005 sec