- Interactive mission selector with metadata-driven design - 5 educational missions (basics + advanced) - AI assistant roles (Deepbit, Bugsy, Schnippsi, Tobi) - SnakeCam gesture recognition system - Token tracking utilities - CLAUDE.md documentation - .gitignore for logs and secrets
184 lines
4.7 KiB
Bash
Executable File
184 lines
4.7 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
clear
|
||
echo "🌲 Willkommen, kleiner Krümel!"
|
||
echo "Heute lernst du die Sprache des Waldes – die Sprache der Shell."
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🦉 Ich bin Eula, die Eule. Ich zeige dir, wie du dich im Wald orientierst."
|
||
echo "📂 Befehl: cd"
|
||
echo "cd bedeutet: 'Geh in diesen Ordner'. Probiere es aus:"
|
||
echo ""
|
||
echo "cd /home/"
|
||
|
||
expected="cd /home/"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast den Pfad richtig betreten."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🦊 Ich bin Fridolin, der Fuchs. Ich kann Verstecke bauen!"
|
||
echo "📁 Befehl: mkdir"
|
||
echo "mkdir bedeutet: 'Baue einen neuen Unterschlupf'."
|
||
echo ""
|
||
echo "mkdir geheimversteck"
|
||
|
||
expected="mkdir geheimversteck"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast den Ordner richtig gebaut."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🐭 Ich bin Mimi, die Maus. Ich liebe es, kleine Zettel zu schreiben."
|
||
echo "📝 Befehl: nano"
|
||
echo "nano bedeutet: 'Schreibe eine Nachricht'."
|
||
echo ""
|
||
echo "nano gruss.txt"
|
||
|
||
expected="nano gruss.txt"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast die Datei richtig erstellt und einen Krümel geschrieben."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🦝 Ich bin Rico, der Waschbär. Ich kopiere Dinge, ohne sie zu verlieren!"
|
||
echo "📄 Befehl: cp"
|
||
echo "cp bedeutet: 'Kopiere etwas'."
|
||
echo ""
|
||
echo "cp gruss.txt geheimversteck/"
|
||
|
||
expected="cp gruss.txt geheimversteck/"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast die Datei richtig gefunden und einen Krümel kopiert."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🦔 Ich bin Hedwig, der Igel. Ich bringe Dinge an neue Orte."
|
||
echo "🚚 Befehl: mv"
|
||
echo "mv bedeutet: 'Bewege etwas'."
|
||
echo ""
|
||
echo "mv gruss.txt geheimversteck/gruss_copy.txt"
|
||
|
||
expected="mv gruss.txt geheimversteck/gruss_copy.txt"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast die Datei richtig gefunden und einen Krümel kopiert."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🐦 Ich bin Karla, der Kolibri. Ich zeige dir, was in Dateien steht."
|
||
echo "👁️ Befehl: cat"
|
||
echo "cat bedeutet: 'Lies mir was vor'."
|
||
echo ""
|
||
echo "cat geheimversteck/gruss.txt"
|
||
|
||
expected="cat geheimversteck/gruss.txt"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast die Datei richtig gefunden und einen Krümel gelesen."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🐳 Ich bin Mops, der Mattermost-Wal. Ich bringe Nachrichten aus dem Netz!"
|
||
echo "🌍 Befehl: curl"
|
||
echo "curl bedeutet: 'Hole dir etwas aus dem Internet'."
|
||
echo ""
|
||
echo "curl https://crumbforest.org/welcome.txt"
|
||
|
||
expected="curl https://crumbforest.org/welcome.txt"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast die Datei richtig gefunden und einen einen anderen Wald besucht."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "🕸️ Ich bin Wally, die Spinne. Ich fange Webseiten in mein Netz."
|
||
echo "🌐 Befehl: wget"
|
||
echo "wget bedeutet: 'Lade eine Datei aus dem Web herunter'."
|
||
echo ""
|
||
echo "wget https://crumbforest.org/karte.pdf"
|
||
|
||
expected="wget https://crumbforest.org/karte.pdf"
|
||
while true; do
|
||
echo ""
|
||
read -p "💬 Dein Befehl: " input
|
||
if [ "$input" = "$expected" ]; then
|
||
echo "✅ Super! Du hast die Datei zielsicher heruntergeladen."
|
||
break
|
||
else
|
||
echo "❗ Hmm ... versuch's nochmal. Tipp genau den Befehl wie gezeigt!"
|
||
fi
|
||
done
|
||
|
||
sleep 2
|
||
|
||
echo ""
|
||
echo "✨ Du hast die Grundlagen gelernt, kleiner Krümel!"
|
||
echo "Mach dich bereit für deine erste Mission …"
|
||
echo ""
|
||
|
||
# Weiterleitung zu Mission-Selector?
|
||
exec /scripts/mission_selector.sh
|