Для чего использовать set -e в bash

set -e используется для немедленного выхода из скрипта в том случае, если любая команда внутри него завершится с ненулевым статусом (ошибкой)

Пример без set -e:

#!/bin/bash
echo "Начало"
ls /несуществующая_папка  # Ошибка, но скрипт продолжит выполнение
echo "Конец"

Вывод будет таким:

Начало
ls: невозможно получить доступ к '/несуществующая_папка': Нет такого файла или каталога
Конец

При этом скрипт продолжит выполнение, несмотря на то, что ls завершился с ошибкой

Пример с set -e:

#!/bin/bash
set -e
echo "Начало"
ls /несуществующая_папка  # Ошибка, и скрипт завершится
echo "Конец"  # Не выполнится

Вывод будет идентичным прошлому примеру, но скрипт завершит свое выполнение как раз из-за set -e