Files
crumbmissions/missions/dojo/schwarzer_guertel.sh
Branko May Trinkwald d4d75af428 🐼 feat(dojo): BashPanda Gürtel-System - Von Schwarz auf Weiss 🥋
Der 18. Waldwächter betritt den Wald: BashPanda lehrt Bash als Kampfkunst!

 Neue Features:

🐼 BashPanda Waldwächter:
- Kung Fu Meister Persönlichkeit
- Lehrt Bash durch Kampfkunst-Metaphern
- Integriert in waldwaechter.sh Library
- Crew Memory: Kennt alle anderen Waldwächter

🥋 6 Gürtel-Missionen (Progressive Bash-Meisterschaft):
- 🖤 Schwarzer Gürtel: echo, Variablen, read, ANSI codes
- 💖 Pinker Gürtel: if/then, while/for, Arrays, Arithmetik
- 💙 Blauer Gürtel: sed, case, bc, Textverarbeitung
- 💚 Grüner Gürtel: grep, regex, Pattern Matching
- 💛 Gelber Gürtel: Funktionen, source, Parameter
- 🤍 Weisser Gürtel: Background jobs, Prozesse, Parallelität

📝 Interaktives Quiz-System:
- Browser-based Gürtelprüfung (crumbblocks)
- 30 Fragen (5 pro Gürtel)
- Farbcodiert nach Gürtel
- Auto-Export via Clipboard
- Terminal-Auswertung mit Zertifikaten

🎓 Zertifikate-System:
- Automatische Generierung bei 80%+
- Gespeichert in logs/zertifikate/
- BashPanda's Segen & Weisheiten

📚 Dokumentation:
- CLAUDE.md komplett aktualisiert
- BashPanda als 18. Waldwächter dokumentiert
- Vollständige Dojo-Architektur beschrieben

"Der Weg des Codes ist wie der Weg der Kampfkunst:
 Geduld, Präzision, Wiederholung."

 - BashPanda 🐼🎋

Crumbforest wächst! 🌲 Der Wurzelbau geht weiter! 🌳

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 00:29:30 +01:00

301 lines
9.5 KiB
Bash
Executable File

#!/bin/bash
# 🐼 BashPanda Dojo - Schwarzer Gürtel 🖤
# Lehrt: echo, printf, Variablen, Benutzereingaben
# Schwierigkeit: Anfänger
# Source waldwaechter library for BashPanda
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🐼 BASHPANDA DOJO - SCHWARZER GÜRTEL 🖤 ║
║ ║
║ "Der Weg des Codes beginnt mit einem einzigen echo" ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🐼 BashPanda verneigt sich vor dir..."
echo "🥋 Willkommen im Dojo, junger Schüler."
echo ""
cat << 'EOF'
Der Schwarze Gürtel ist der erste Schritt auf dem Weg des Bash-Meisters.
Du wirst lernen:
🎯 echo & printf - Die Stimme des Terminals
🎯 Variablen - Container für Wissen
🎯 read - Den Dialog mit dem Nutzer
🎯 ANSI Codes - Farbe ins Terminal bringen
"Eine Reise von tausend Befehlen beginnt mit einem einzigen Zeichen."
EOF
read -p "➡️ Bereit für dein erstes Training? (j/n): " start
echo ""
if [[ ! "$start" =~ ^[jJyY]$ ]]; then
echo "🐼 Der Meister wartet geduldig auf deine Rückkehr."
exit 0
fi
# === PHASE 1: echo - Die Stimme des Terminals ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 1: echo - Die Stimme des Terminals
═══════════════════════════════════════════════════════════
Wie ein Kampfschrei im Dojo, so ist 'echo' die grundlegendste
Ausgabe im Terminal.
EOF
echo "🐼 BashPanda zeigt dir:"
echo ""
echo " echo 'Hallo Welt'"
echo ""
echo "Resultat:"
echo 'Hallo Welt'
echo ""
cat << 'EOF'
💡 WICHTIG:
- Einfache Anführungszeichen ('): Text wird exakt ausgegeben
- Doppelte Anführungszeichen ("): Variablen werden ersetzt
- echo -e: Aktiviert ANSI Escape-Sequenzen
EOF
echo "🥋 Deine erste Kata (Übung):"
echo ""
echo "1. Öffne ein neues Terminal"
echo "2. Tippe: echo 'Ich bin ein Bash-Schüler'"
echo "3. Drücke Enter"
echo ""
read -p "Hast du es probiert? (j/n): " phase1
echo ""
if [[ "$phase1" =~ ^[jJyY]$ ]]; then
echo "✅ Gut! Die erste Technik sitzt."
else
echo "🐼 'Ohne Übung kein Fortschritt. Probiere es später aus.'"
fi
# === PHASE 2: printf & ANSI Codes ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 2: printf & ANSI Codes - Die Kunst der Formatierung
═══════════════════════════════════════════════════════════
printf ist wie echo, aber mit mehr Kontrolle.
ANSI Codes sind wie Chi - sie geben dem Text Kraft und Farbe.
EOF
echo "🐼 BashPanda demonstriert:"
echo ""
echo " echo -e '\\e[1mFett\\e[22m und \\e[4munterstrichen\\e[24m'"
echo ""
echo "Resultat:"
echo -e '\e[1mFett\e[22m und \e[4munterstrichen\e[24m'
echo ""
cat << 'EOF'
📖 Wichtige ANSI Codes:
\e[1m - Fett
\e[22m - Fett zurücksetzen
\e[4m - Unterstrichen
\e[24m - Unterstrichen zurücksetzen
\e[32m - Grüne Farbe
\e[0m - Alle Formatierungen zurücksetzen
EOF
echo "🥋 Deine zweite Kata:"
echo ""
echo "Erstelle eine Datei 'farbtest.sh' mit:"
echo ""
cat << 'CODE'
#!/bin/bash
echo -e "\e[32mGrün wie Bambus\e[0m"
echo -e "\e[1m\e[33mGelb und fett wie die Sonne\e[0m"
echo -e "\e[4mUnterstrichen wie ein Pfad\e[0m"
CODE
echo ""
echo "Dann: chmod +x farbtest.sh && ./farbtest.sh"
echo ""
read -p "Möchtest du fortfahren? (j/n): " phase2
echo ""
# === PHASE 3: Variablen - Container für Wissen ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 3: Variablen - Container für Wissen
═══════════════════════════════════════════════════════════
Eine Variable ist wie ein Bambus - biegsam, kann viel tragen,
und wächst mit der Zeit.
EOF
echo "🐼 BashPanda zeigt dir:"
echo ""
cat << 'CODE'
name="Kung Fu Meister"
echo "Hallo, $name"
echo "Mein Name ist: ${name}"
CODE
echo ""
echo "Resultat:"
name="Kung Fu Meister"
echo "Hallo, $name"
echo "Mein Name ist: ${name}"
echo ""
cat << 'EOF'
💡 Regeln für Variablen:
- Keine Leerzeichen um das '=' Zeichen!
- Variablennamen: Buchstaben, Zahlen, Unterstriche
- Zugriff mit $variable oder ${variable}
EOF
echo "🥋 Deine dritte Kata:"
echo ""
echo "Erstelle 'variablen_test.sh':"
echo ""
cat << 'CODE'
#!/bin/bash
guertel="Schwarz"
meister="BashPanda"
echo "Ich trainiere für den ${guertel}en Gürtel."
echo "Mein Meister ist $meister."
CODE
echo ""
read -p "Bereit für die letzte Phase? (j/n): " phase3
echo ""
# === PHASE 4: read - Der Dialog mit dem Nutzer ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 4: read - Der Dialog mit dem Nutzer
═══════════════════════════════════════════════════════════
Ein Meister hört zu. Mit 'read' gibst du dem Nutzer eine Stimme.
EOF
echo "🐼 BashPanda zeigt dir:"
echo ""
cat << 'CODE'
echo "Wie heißt du?"
read name
echo "Willkommen, $name!"
CODE
echo ""
echo "Lass es uns live testen:"
echo ""
echo "Wie heißt du?"
read name
echo "Willkommen im Dojo, $name! 🐼"
echo ""
cat << 'EOF'
💡 read Optionen:
read name - Speichert Eingabe in $name
read -p "Frage: " - Zeigt Prompt vor Eingabe
read -s password - Silent mode (für Passwörter)
EOF
# === PHASE 5: Die Gürtelprüfung ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
🥋 GÜRTELPRÜFUNG - SCHWARZER GÜRTEL 🖤
═══════════════════════════════════════════════════════════
Deine Aufgabe: Erstelle ein Skript 'begruessung.sh' das:
1. Den Nutzer nach seinem Namen fragt
2. Nach seinem Lieblings-Essen fragt
3. Eine farbige Begrüßung ausgibt mit:
- Namen in GRÜN
- Essen in GELB
- "Willkommen im Dojo" in FETT
Beispiel-Ausgabe:
Willkommen im Dojo!
Name: Max (in grün)
Lieblingsessen: Nudeln (in gelb)
EOF
echo "💡 Hilfestellung: Nutze echo -e, read -p, Variablen und ANSI Codes"
echo ""
echo "Wenn du fertig bist, führe dein Skript aus und zeige es BashPanda!"
echo ""
read -p "Hast du die Prüfung absolviert? (j/n): " pruefung
echo ""
if [[ "$pruefung" =~ ^[jJyY]$ ]]; then
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🎉 GLÜCKWUNSCH! 🎉 ║
║ ║
║ Du hast den SCHWARZEN GÜRTEL 🖤 verdient! ║
║ ║
║ "Der erste Schritt ist getan. ║
║ Tausend weitere liegen vor dir." ║
║ ║
║ - BashPanda 🐼 ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🥋 Was du gelernt hast:"
echo " ✅ echo & printf für Ausgaben"
echo " ✅ ANSI Codes für Formatierung"
echo " ✅ Variablen erstellen und nutzen"
echo " ✅ read für Benutzereingaben"
echo ""
echo "🎯 Nächster Gürtel: PINK 💖 (Kontrolle: if/then, Arrays)"
echo ""
else
cat << 'EOF'
🐼 "Es ist keine Schande, mehr Zeit zu brauchen.
Auch der größte Meister war einst ein Anfänger.
Übe weiter, und komm zurück wenn du bereit bist."
EOF
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "💬 Fragen? Rufe den Meister:"
echo " bashpanda \"Wie funktioniert echo?\""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""