Каждый скрипт начинается с set -euo pipefail — стоп при первой ошибке, незаданной переменной, упавшем пайпе.
#!/bin/bash
set -euo pipefail
NAME="${1:-world}" # значение по умолчанию
readonly LOG="/var/log/app.log"
cleanup() { rm -f /tmp/app.lock; }
trap cleanup EXIT
[[ -f "$LOG" ]] && tail -n 100 "$LOG"
[[ ]] вместо [ ] — нет сюрпризов с пробелами в переменных. readonly — защита от случайного переопределения. trap EXIT — очистка даже при ошибке.
#bash #linux #sysadmin
