Files
Linux-Server-Management-Too…/lib
Developer 986b54b620 FIX: Add error handling to database counting pipes
ISSUE:
Lines 214, 216, 224, 226 had same grep -v | wc -l pattern that fails
when all databases are system databases (filtered out by grep -v).

With set -eo pipefail:
- If no user databases exist: grep -v filters everything
- grep returns exit code 1 (no matches)
- Script crashes

SCENARIO:
Server with only system databases (mysql, information_schema, etc.)
1. Line 214: Count user databases
2. grep -v filters all of them
3. Returns exit code 1
4. Script crashes

FIXES:

Line 214: Plesk database count
- BEFORE: grep -v ... | wc -l
- AFTER: grep -v ... | wc -l || echo 0

Line 216: Standard database count
- BEFORE: grep -v ... | wc -l
- AFTER: grep -v ... | wc -l || echo 0

Line 224: Plesk database list
- BEFORE: grep -v ...
- AFTER: grep -v ... || echo ""

Line 226: Standard database list
- BEFORE: grep -v ...
- AFTER: grep -v ... || echo ""

IMPACT:
- Reference database building handles servers with no user databases
- Launcher no longer crashes on minimal database setups
- Graceful fallback to empty/zero values

Testing:
- bash -n validates syntax
- Returns sensible defaults (0 for counts, empty for lists)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-19 22:12:59 -04:00
..