w#!/bin/bash # Einfacher Syntax-Check für das Setup-Skript echo "Prüfe Bash-Syntax von setup.sh..." # Zähle if und fi Statements if_count=$(grep -c "^\s*if\s\|^\s\+if\s" setup.sh) fi_count=$(grep -c "^\s*fi\s*$\|^\s\+fi\s*$" setup.sh) echo "if-Statements gefunden: $if_count" echo "fi-Statements gefunden: $fi_count" if [ "$if_count" -eq "$fi_count" ]; then echo "✅ if/fi Balance: OK" else echo "❌ if/fi Balance: FEHLER - Ungleiche Anzahl" echo "Differenz: $((fi_count - if_count))" fi # Prüfe auf verwaiste fi ohne Einrückung (außerhalb von Funktionen) orphaned_fi=$(grep -n "^fi\s*$" setup.sh) if [ -n "$orphaned_fi" ]; then echo "❌ Verwaiste fi-Statements gefunden:" echo "$orphaned_fi" else echo "✅ Keine verwaisten fi-Statements" fi # Prüfe auf ungeschlossene Funktionen function_starts=$(grep -c "^[a-zA-Z_][a-zA-Z0-9_]*\s*()\s*{" setup.sh) function_ends=$(grep -c "^}" setup.sh) echo "Funktions-Starts: $function_starts" echo "Funktions-Ends: $function_ends" if [ "$function_starts" -eq "$function_ends" ]; then echo "✅ Funktions-Balance: OK" else echo "❌ Funktions-Balance: FEHLER" fi echo "" echo "Syntax-Check abgeschlossen."