


Jako většina shellů (prostředí příkazové řádky) dostupné v Linuxu není bash (Bourne Again SHell) pouze výbornou příkazovou řádkou, ale zároveň také plnohodnotným skriptovacím jazykem. Skriptování v shellu umožňuje zautomatizovat spoustu úloh, které by jinak vyžadovaly psaní spousty příkazů na příkazovou řádku. Mnoho programů v jednotlivých distribucích Linuxu či Unixu jsou pouze skripty příkazové řádky. Zajímáte-li se jak to vlastně pracuje, nebo chcete-li tyto skripty modifikovat či vytvářet, je podstatné porozumět syntaxi a sémantice jazyka bash. Při porozumění syntaxi a způsobech jazyka bash budete schopni modifikovat programy, ale hlavně psát programy vlastní, které se budou chovat přesně tak, jak chcete. Ale pamatujte si - počítač nikdy neudělá to, co chcete, ale to, co mu zadáte.
Lidé, kteří teprve začínají programovat jsou často zmateni a neví, jaký je rozdíl mezi skriptovacím a kompilovaným jazykem. Tak tedy - kompilované programovací jazyky jsou mnohem více rychlejší a silnější než skriptovací jazyky. Příkladem kompilovaných jazyků je například C, C++ a Java. Programovací jazyky se většinou skládají ze zdrojového kódu (soubor obsahující instrukce a data, která budou při běhu vykonána). Po napsání zdrojového kódu je program kompilován (přeložený do jazyka procesoru) a následně se může program spustit. Takto vytvořený program však nelze přenést na jinou platformu bez nutnosti opět přeložit zdrojový kód na jiné platformě (existuje-li na ní ovšem překladač). Například jestliže napíšete program v jazyku C pro Linux, nebudete schopni tento program spustit ve Windows 98.
Skriptovací jazyky také začínají psaním zdrojového kódu, ale již nejsou kompilovány a spuštěny. Místo toho interpreter jazyka čte instrukce ze zdrojového kódu a podle obsahu tyto instrukce vykonává. V případě bash spouští programy, které jste napsali do zdrojového kódu. Bohužel, protože interpreter čte každé instrukce jednotlivě a jejich zpracování není tím pádem úplně nejrychlejší (program je částčně překládán za běhu), jsou tedy skriptovací jazyky výrazně pomalejší než kompilované programy. Hlavní výhoda skriptovacích jazyků spočívá v jejich přenositelnosti na jiné platformy či operační systémy, jejich jednoduchosti a také velikosti. Skriptovacím jazykem je právě například bash. Příklady dalších interpretovaných jazyků (skriptovacích) jsou Perl, Lisp, Prolog a Tcl (čteno tikl).
Psaní skriptů v bash vyžaduje znalost alespoň základních příkazů shellu bash (jako kopírování, přesování, tvorba nových souborů atd.), znalost některého textového editoru. V Linuxu jsou takové tři nejznámější editory vi, emacs a pico.
A na závěr jedno varování!!! Raději nedělejte jako začátečník žádné skripty jako superuživatel root. Vzhledem k fakticky neomezeným právům by jste snadno mohli narušit systém. Raději své skripty dělejte jako normální uživatel. Odpadnou vám tak problémy s opravami systému.
