BASH по это то, что вызывает программы Linux, и оценивает их результаты работы. Т.е. все программирование на BASH это вызов уже написанных программ и сравнение их выводов. (из книги Операционная система Linux
Курс лекций. Учебное пособие. (с) Курячий. Маслинский. altlibrary-linuxintro2.pdf)
Это, кстати, можно свести к абсолютной не правде. И писать как и на любом другом языке сколь угодно сложное без вызова внешних утилит.