Разрабатывайте скрипты с опциями set -eu
set -e
- падать на ошибкахset -u
- считать ошибкой обращение к неопределенной переменнойset -o pipefail
- заставить пайпы перестать скрывать ошибки предыдущих команд
- максимально быстрое выявление скрытых ошибок в коде.
- не надо самому писать многие проверки значений.
- Это сделает shell-код похожим на нормальный язык программирования, а не на набор последовательно выполняющихся команд, которым на всё пофиг.