TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #4701 1.33K
🛡 Всегда валидируйте входные данные в bash-скриптах

Скрипт без проверок это скрипт, который упадёт в самый неподходящий момент с непонятной ошибкой. Или, что хуже, отработает успешно с неправильными данными.

Две проверки, которые должны быть в начале любого скрипта:
#!/bin/bash
set -euo pipefail

# Проверка количества аргументов
if [[ $# -lt 1 ]]; then
echo "Usage: $0 <filename>"
exit 1
fi

filename="$1"

# Проверка что файл существует
if [[ ! -f "$filename" ]]; then
echo "Error: file '$filename' not found"
exit 1
fi


$# это количество переданных аргументов. $0 — имя самого скрипта. $1, $2 и далее это аргументы по порядку.

Валидация в начале — это контракт скрипта. Либо все условия выполнены и работа начинается, либо скрипт завершается с понятным сообщением до того, как что-то пошло не так.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
  • 👍 7
  • ❤ 1
More from @devopsslib
  1. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Sep 15, 2026👩‍💻 Bash-скрипт для мониторинга сервисов Полноценный мониторинг вроде Zabbix или Prometh…
  4. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  5. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 10, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →