#!/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 ""