Files
crumbmissions/missions/dojo/blauer_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

209 lines
7.2 KiB
Bash
Executable File

#!/bin/bash
# 🐼 BashPanda Dojo - Blauer Gürtel 💙
# Lehrt: sed, case, bc, Textverarbeitung
# Schwierigkeit: Fortgeschritten
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🐼 BASHPANDA DOJO - BLAUER GÜRTEL 💙 ║
║ ║
║ "Text ist wie Wasser - formbar, fließend, kraftvoll" ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🐼 Der Meister begrüßt einen fortgeschrittenen Schüler..."
echo ""
cat << 'EOF'
Der Blaue Gürtel lehrt dich TEXTVERARBEITUNG.
Du wirst lernen:
🎯 sed - Stream Editor für Textmanipulation
🎯 case - Mehrfach-Entscheidungen
🎯 bc - Rechnen mit Fließkommazahlen
🎯 wc - Wörter und Zeilen zählen
"Text ist die Sprache des Terminals. Beherrsche sie."
EOF
read -p "➡️ Bereit für Text-Meisterschaft? (j/n): " start
[[ ! "$start" =~ ^[jJyY]$ ]] && echo "🐼 Bis zum nächsten Mal." && exit 0
echo ""
# === PHASE 1: sed - Der Text-Transformator ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 1: sed - Stream Editor
═══════════════════════════════════════════════════════════
sed ist wie ein Pinsel für Text: Du streichst alte Worte weg
und schreibst neue.
EOF
echo "🐼 Demo: Text ersetzen"
echo ""
echo "Original: Das ist ein Test" | tee /tmp/bashpanda_test.txt
echo ""
echo "sed 's/Test/Beispiel/':"
sed 's/Test/Beispiel/' /tmp/bashpanda_test.txt
echo ""
cat << 'EOF'
💡 sed Basics:
sed 's/alt/neu/' Ersetze erstes Vorkommen
sed 's/alt/neu/g' Ersetze alle Vorkommen
sed '2d' Lösche Zeile 2
sed '3iNEUER TEXT' Füge Text vor Zeile 3 ein
EOF
echo "🥋 Kata: Erstelle 'texteditor.sh' das:"
echo " - Eine Datei lädt"
echo " - Fragt: einfügen (e) oder löschen (l)?"
echo " - Mit sed die Operation durchführt"
echo ""
read -p "Weiter? (j/n): " p1
[[ ! "$p1" =~ ^[jJyY]$ ]] && exit 0
echo ""
# === PHASE 2: case - Der Mehrfach-Krieger ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 2: case - Mehrfach-Entscheidungen
═══════════════════════════════════════════════════════════
Statt vieler if/then/else nutzt case für klare Struktur.
EOF
echo "🐼 Live Demo:"
echo ""
echo "Wähle einen Gürtel (schwarz/pink/blau/gruen/gelb/weiss):"
read guertel_input
case "$guertel_input" in
schwarz) echo "🖤 Der Anfang - Basics" ;;
pink) echo "💖 Kontrolle - Schleifen" ;;
blau) echo "💙 Text - sed & case" ;;
gruen) echo "💚 Pattern - grep & regex" ;;
gelb) echo "💛 Prozesse - Funktionen" ;;
weiss) echo "🤍 System - Units" ;;
*) echo "❓ Unbekannter Gürtel" ;;
esac
echo ""
cat << 'EOF'
💡 case Syntax:
case "$variable" in
muster1) befehle ;;
muster2) befehle ;;
*) default ;;
esac
EOF
# === PHASE 3: bc - Rechnen mit Präzision ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 3: bc - Präzises Rechnen
═══════════════════════════════════════════════════════════
$(( )) kann nur ganze Zahlen. Für Fließkommazahlen: bc
EOF
echo "🐼 Demo: Fass-Rechnung"
echo ""
cat << 'DEMO'
fuellstand=10.5
abzapfen=3.2
neu=$(echo "$fuellstand - $abzapfen" | bc)
echo "Neu: $neu Liter"
DEMO
echo ""
fuellstand=10.5
abzapfen=3.2
neu=$(echo "$fuellstand - $abzapfen" | bc)
echo "Resultat: $neu Liter"
echo ""
cat << 'EOF'
💡 bc Operationen:
echo "3.5 + 2.1" | bc
echo "10 / 3" | bc -l (-l für mehr Präzision)
echo "scale=2; 10/3" | bc
EOF
# === GÜRTELPRÜFUNG ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
🥋 GÜRTELPRÜFUNG - BLAUER GÜRTEL 💙
═══════════════════════════════════════════════════════════
Erstelle 'fluessigkeiten.sh' das:
1. Fragt: "Wie viele Liter hat das Fass?"
2. while-Schleife: Solange Füllstand > 0
3. Fragt: "Wie viel abzapfen?"
4. Mit bc rechnen: fuellstand - abzapfen
5. Ausgabe: "Noch X Liter im Fass"
6. Bonus: case für verschiedene Füllstände
- < 2.0: "Fast leer!"
- < 5.0: "Bald nachfüllen"
- >= 5.0: "Genug Vorrat"
EOF
echo "💡 Tipp: Vergleich mit bc:"
echo " if [ \"\$(echo \"\$wert > 5\" | bc)\" == 1 ]; then"
echo ""
read -p "Prüfung bestanden? (j/n): " pruefung
if [[ "$pruefung" =~ ^[jJyY]$ ]]; then
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ 🎉 MEISTERHAFT! 🎉 ║
║ Du hast den BLAUEN GÜRTEL 💙 verdient! ║
║ ║
║ "Text fließt durch deine Finger ║
║ wie Wasser durch das Bambuswäldchen." ║
║ ║
║ - BashPanda 🐼 ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🥋 Gelernt:"
echo " ✅ sed für Textbearbeitung"
echo " ✅ case für Multi-Entscheidungen"
echo " ✅ bc für Fließkomma-Rechnung"
echo ""
echo "🎯 Nächster Gürtel: GRÜN 💚 (Pattern Matching: grep, regex)"
else
echo "🐼 'Der Text wartet geduldig. Übe weiter.'"
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "💬 bashpanda \"Wie nutze ich sed zum Ersetzen?\""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"