Shell (Bourne Shell) é um interprete de linha de comando. É um applicativo que fornece comandos para diferentes sistemas operacionais como Linux, Unix e Mac.
Bash (Bourne Again Shell) é uma versão aprimorada do shell, uma camada entre as chamadas de função do usuário e o sistema operacional.
O usuário pode inserir os comandos por meio da linha de comando ou por um script (lote de comandos).
O Bash pode ser operado de dois modos, Interativo como um interpretador de comandos para o terminal e o modo Não Interativo que permite a execução de scripts contendo vários comandos.