Skriptování v UNIX shellu: BASH, KSH či TCSH?

V UNIXu se můžete setkat s různými příkazovými interprety. Čím se liší? Proč nemáme jen jeden? Pojďme si je představit.

SH

Shell je původní příkazový interpret z roku 1977, je to výchozí shell pro UNIX verzi 7. Výhoda je, že je dostupný napříč různými UNIX platformami, což jej činí ideálním pro skriptování, které má být nezávislé na operačním systému.

BASH

BASH (Bourne Again Shell) byl napsán Brianem Foxem jako výchozí (defaultní) shell pro operační systém GNU/Linux a MAC OS. V podstatě šlo o „odkopírovaný“ shell (SH) s licencí GPL.

KSH

Korn Shell napsaný Davidem Kornem měl původně vylepšovat klasický shell o správu procesů, WYSIWYG featury, ale ty byly později přidány do původního shellu. KSH je defaultní shell pro Solaris, AIX a pár dalších UNIXů.

CSH

Originální C Shell z roku 1978, který měl připomínat programování v jazyce C. Nahradil jej TCSH.

TCSH

Čajový shell (ti shell) je vylepšením původního CSH o dokončování řádků a editování příkazové řádky. Je to standardní shell pro platformy založené na distribuci BSD (Berkeley Software Distribution) UNIX.

ZSH

Z shell má nejvíce featur, mezi něž patří například historie shellu (která je konečně sdílena všemi instancemi běžícího shellu) rozšířené metaznaky shellu, vylepšená pole, snazší editování víceřádkových příkazů a oprava chyb.

Pokud budete používat jen Linux, doporučuji BASH. Chcete-li používat (a skriptovat) napříč unixy, doporučuji SH.

Marián Knězek

 

Súvisiace články: