Вопрос популярные, а коротких и простых ответов мало.
Буду крайне краток.
shell - командная строка (интерфейс в ОС). Или доступ к командной строке.
bash - один из интерпретаторов командной строки. Приложение, которое запускается, когда пользователь получает доступ к shell
Источники:
https://www.linux.org.ru/forum/development/12015066
https://ru.it-reply.net/q/v-chem-raznica-mezhdu-terminami-shell-i-bash-15303