Co je Bourne Shell?
Bourne shell je malý program, který běží na operačních systémech Unix® a LINUX® a poskytuje rozhraní pro provádění programů v systému. Často se označuje jako rozhraní příkazového řádku nebo interpret příkazů, protože uživateli neposkytuje žádné grafické uživatelské rozhraní (GUI). Příkazy a všechny potřebné parametry, které mají být provedeny, jsou zapsány do shellu. Bourne shell je také skriptovací jazyk, který umožňuje uživatelům vytvářet a spouštět soubory skriptu, které mohou zpracovávat data prostřednictvím několika programů pomocí jediného příkazu. V systémech podobných Unixu je program jednoduše známý jako „sh“.
První takové skořápky pro systémy Unix® byly známé jako shell Thompson, vytvořený Kenem Thompsonem, jedním z původních tvůrců operačního systému Unix®. Obal Thompsonu byl omezen na interpretaci příkazů a řada dalších funkcí musela být vykonávána jako externí operace. Pozdnější, Stephen Bourne vytvořil Bourne shell nahradit shell Thompsona, přidávat množství nových rysů do shellu sám, stejně jako skriptovací jazyk shellu.
Ve skutečnosti byl Bourne shell plánován jako skriptovací jazyk od začátku. I když to bylo stále rozhraní příkazového řádku pro Unix® verze sedm, také to otevřelo uživatelům možnost vyvíjet skripty shellu, které by spojovaly příkazy dohromady za účelem zpracování dat. Použitím tohoto programování mohl uživatel stanovit proměnné pro zachycení známých nebo neznámých dat ze vstupu nebo výstupu a manipulovat se zpracováním těchto dat pomocí podmíněných příkazů ve skriptu technikou označovanou jako kontrolní tok.
Toto byl také první shell implementovat funkci známou jako manipulace se signálem. Prostřednictvím shellu Bourne může uživatel poslat určitý typ signálu do procesu, který již běží na počítači, a dá tomuto procesu pokyn, aby udělal něco jiného. Mnoho z nich jsou způsoby, jak zastavit proces, který provádí a produkovat nějaký druh výstupu, který lze použít pro ladění, i když jiní existují k dočasnému zastavení procesu, obnovení a tak dále.
Schopnost přímo řídit deskriptory souborů byla pro Bourneovu shellu první. V systému typu Unix® má každý spuštěný program tabulku, ve které jsou uvedeny popisovače souborů pro všechny otevřené soubory. To může zahrnovat cokoli od jednoduchého textového souboru do adresáře nebo dokonce komunikačních soketů, které procesy používají ke sdílení dat mezi sebou. Aby uživatel mohl mít kontrolu nad deskriptory souborů v systému, umožnil bezprecedentní kontrolu nad vstupem a výstupem prakticky všeho v počítači.
I když Bourne shell uživatelům nabídl takovou dodatečnou funkčnost, chyběly mu takové funkce, jako je schopnost interaktivně řídit procesy, vytvářet aliasy příkazů a uchovávat historii. Později se však začalo objevovat několik potomků, kteří využívali nejužitečnější vlastnosti skořápky, které byly navrženy v průběhu let, a stočily je do nových skořápek. Jedním z běžných příkladů je shell Bourne-again nebo Bash, který je běžný u mnoha systémů LINUX®. Výsledkem je, že mnoho z těchto potomků je plně schopno provádět pravidelné Bourne shell skripty, což dává každému systému Unix® nějakou implementaci původního Bourne shellu tak či onak. Na mnoha systémech LINUX® je to jednoduše odkaz od „sh“ do „bash“ nebo jiného schopného potomka.