Skrypt to nie kompilowany tekstowy plik wykonywalny, zawierający jakieś polecenia systemowe oraz polecenia sterujące jego wykonaniem (instrukcje, pętle itp.). Wykonywany jest tylko i wyłącznie przez interpreter (tutaj/bin/bash), który tłumaczy polecenia zawarte w skrypcie na język zrozumiały dla procesora.
BASH (agn. Bourne Again SHell) to stworzony przez Briana Foxa i CHeta Rameye zgodny z sh interpreter poleceń, łączący w sobie zalety shella Korna (ksh) i C-shella (csh). BASH najbardziej popularna powłoka używana na systemach unixowych, jest też skryptowym językiem programowania, umożliwiającym efektywne zarządzania systemem.
Powłoka Systemowa - (ang. shell) - program komputerowy pełniący rolę pośrednika pomiędzy systemem operacyjnym lub aplikacjami a użytkowaniem, przyjmując jego polecenia i "wyprowadzając" wyniki działania programów. To pośrednictwo nie jest obowiązkowe (programy mogą chcieć być bardziej "samodzielne".
Powłoka często sama zawiera podstawowe polecenia, gdy jednak wydane przez użytkownika polecenie nie jest wbudowane, uruchamiany jest program zewnętrzny. Po zalogowaniu użytkownik znajduję się w linii poleceń i może wydawać polecenia systemowi. Zachęca go do tego tzw. znak zachęty (shell prompi) - zwykle jest to '>', '$' lub '#'.
W działającym systemie zazwyczaj dostępnych jest kilka róznych powłok, np.:
Bourne Shell - sh,
Berkeley C Shell - csh,
czy bardzo ostatnio popularny Bourne Again Shell - BASH.
Róznice między nimi polegają głównie na sposobie programowania w języku powłoki, różnią się rownież możliwościami oferowanych usług i dogodnień związanych z pracą w systemie. Powłoka jest inicjowana automatycznie po zarejestrowaniu się użytkownika w systemie. Skoro jest to zwykła aplikacja, to jej nowy egzemplarz można uruchomić w dowolnej chwili poleceniem np.: sh.
Powłoka przyjmuję polecenie od użytkownika, dekoduje ją i przekazuje do jądra w celu wykonania.
Pracę powłoki można przestawić algorytmicznie jako ciąg następujących czynności:
Wysłanie znaku gotowości na terminal (zazwyczaj: $, % lub #);
Przyjęcie polecenia od użytkownika;
Zdekodowanie polecenia, odszukanie w katalogach odpowiadającego mu programu;
Przekazanie polecenia do jądra, w celu uruchomienia odpowiedniego procesu (lub procesów) realizującego polecenie i oczewkianie na jego zakończenie;
przyjęcie odpowiedzi od jądra i przekazanie tych wyników użytkownikowi, powrót do punktu pierwszego;
Słowa Zastrzeżone (ang. reserved words)
Mają dla powłoki specjalne znaczenie, wtedy gdy nie są cytowane.
Lista słów zastrzeżonych:
!
case
do
done
elif
else
fi
for
function
if
in
select
then
until
while
{
}
time
[
]