Als Anfänger bin ich nicht sicher, ob dies der beste Weg ist, mehrere Schleifen zu machen !! obwohl es gut funktioniert, kann man mich vorschlagen, wenn es eine elegante Art und Weise ist, dies zu tun (ich bin bash nicht eingeschränkt, aber ich bin nicht vertraut mit anderen Sprachen)Bash: zwei Schleifen innerhalb der While-Schleife
#!/bin/bash
while :; do
read -n1 -e -p"Top Levels 1-5: " top_levels
if [ "$top_levels" == "1" ]; then
echo "top level 1"
elif [ "$top_levels" == "2" ]; then
while :; do
read -n1 -e -p"Sub Levels 1-5: " sub_levels
if [ "$sub_levels" == "1" ]; then
echo "sub level 1"
elif [ "$sub_levels" == "2" ]; then
echo "sub level 2"
elif [ "$sub_levels" == "3" ]; then
while :; do
read -n1 -e -p"Final Levels 1-5: " final_levels
if [ "$final_levels" == "1" ]; then
echo "Final level 1"
elif [ "$final_levels" == "2" ]; then
echo "Final level 2"
elif [ "$final_levels" == "3" ]; then
echo "Final level 3"
elif [ "$final_levels" == "4" ]; then
echo "Final level 4"
else
echo "bye"
break
fi
done
elif [ "$sub_levels" == "4" ]; then
echo "sub level 4"
else
echo "bye"
break
fi
done
elif [ "$top_levels" == "3" ]; then
echo "top level 3"
elif [ "$top_levels" == "4" ]; then
echo "top level 4"
else
echo "bye"
exit
fi
done
Elegantere Art, was zu tun? Unabhängig von der Antwort gehören zu codereview.stackexchange.com Fragen, die nach Verbesserungen des Arbeitscodes fragen. – chepner
Ihre Frage ist wirklich unklar. Wenn eine Aufgabe zwei Schleifen innerhalb einer anderen Schleife benötigt - nun, es gibt keinen eleganteren Weg, als zwei Schleifen in eine andere zu legen. Sie sollten die gewünschte Aufgabe beschreiben: Es reicht nicht aus, den Code zu zeigen, ohne zu erklären, was Sie tun möchten. – linuxfan
Mann, Sie brauchen Kommentare. Es würde den Leuten helfen, zu verstehen, was Sie tun und warum. – SaintHax