Bash to zarówno jedna z bardzo popularnych powłok systemowych jak i język programowania. Bash jako język powłoki bash stanowi rozszerzenie powłoki sh.
Jest to język interpretowany co świadczy o tym, że do jego uruchomienia nie jest potrzebna kompilacja pliku źródłowego. Na pewno każdy programista Bash zdecydowanie będzie chwalił sobie takie rozwiązanie. Jako właśnie język interpretowany posiada takie zalety jak wprowadzanie modyfikacji w życie (przez wspomniany wcześniej brak kompilacji), sprawna edycja (dzięki edytorowi tekstów) a także możliwość szybkiego podejrzenia źródła programu. Warto dodać, że w przypadku Basha obowiązkowy jest interpreter skryptu. Większość skryptów powłoki sh działa bez żadnych zmian w powłoce Bash jednak występują pewne wyjątki, które odwołują się do wbudowanych zmiennych powłoki Bourne'a albo wykorzystują wbudowane polecenia danej powłoki. Bash zatem należy również do języków skryptowych, które są niezwykle ważne dla administratorów np. systemów Unix czy Linux, gdyż wiele procesów w systemie opiera się o różne języki skryptowe.
Przykładowy kod programisty Bash
Bash Przykład #1
#!/bin/bash
logToFile=true
dateFrom='2016-01-05'
dateTo='2016-02-24'
php -f attachments.php logToFile=$logToFile dateFrom=$dateFrom dateTo=$dateTo >> ./log/attachments_checked__`date +%Y%m%d`.log
Bash Przykład #2
#!/bin/bash
cd $(dirname $0)
for task in ./*__start.sh
do
echo "*** "$task
/bin/bash $task &
done