bash
– powłoka systemowa UNIX napisana dla projektu GNU. Program jest rozprowadzany na licencji GPL.Bash to jedna z najpopularniejszych powłok systemów uniksowych. Jest domyślną powłoką w większości dystrybucji systemu GNU/Linux oraz w systemie Mac OS X od wersji 10.3, istnieją także wersje dla większości systemów uniksowych. Bash jest także domyślną powłoką w środowisku Cygwin dla systemów Win32.
Bash umożliwia pracę interaktywną i wsadową. Język basha umożliwia definiowanie aliasów, funkcji, zawiera konstrukcje sterujące przepływem (if, while, for, ...). Powłoka bash zachowuje historię wykonywanych poleceń. Jest ona domyślnie zapisywana w pliku .bash_history w katalogu domowym użytkownika.
Język powłoki bash jest rozszerzeniem powłoki sh. Większość skryptów przeznaczonych dla powłoki sh działa bez zmian w powłoce bash, wyjątkami są skrypty, które odwołują się do wbudowanych zmiennych powłoki Bourne'a lub używają wbudowanych poleceń tej powłoki. Składnia poleceń powłoki bash zawiera idee pochodzące z powłoki Korna i csh takie jak edycja linii poleceń (ang. command-line editing), historia poleceń, stos katalogów, zmienne $RANDOM i $PPID oraz POSIX-owe podstawianie polecenia (składnia: $((...))). Gdy bash jest używany interaktywnie, dostępne jest dokańczanie nazw plików, poleceń wbudowanych i zewnętrznych programów, zmiennych, itd., co dzieje się po naciśnięciu klawisza TAB.
Shell - skrypty
Czasem zdarza się taka sytuacja, że często wykonujemy jakąś serię poleceń. Czasem też musimy dodać jakiś warunek lub pętlę do tej serii poleceń. Można to oczywiście napisać w języku programowania jak C, ale trzeba ten język znać. Zamiast tego wszystkie shelle oferują rodzaj języka skryptowego. Za jego pomocą można pisać różne rodzaje skryptów: od tych prostych, które ograniczają się do wykonania serii poleceń, do bardzo skomplikowanych, zawierających różne pętle, warunki itp.
Skrypty można pisać we wszelkiego rodzaju edytorach tekstu. Jest to zwykły plik tekstowy, ale zawierający w pierwszej linijce "#!/bin/bash". Kolejne programy wywołuje się przez wpisanie ich kolejno do tego pliku. Można też wpisać je po kilka w linijce, ale odseparowane średnikami (';'). Aby taki skrypt można było uruchomić, należy nadać mu atrybut wykonywalności np. poleceniami:
chmod +x skrypt
Tak przygotowany skrypt uruchamia się jak każdy inny program. Skrypt można też uruchomić bez nadawania mu bitu wykonywalności czy wpisywania nagłówka:
/bin/bash nazwa_skryptu.