0
作为初学者,我不确定这是否是执行多个循环的最佳方式!虽然它工作得很好,请给我建议,如果有这样的一种优雅的方式(我不受限的抨击,但我不熟悉其他语言)Bash:while循环中的两个循环
#!/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
更优雅的做法是什么?无论答案如何,要求改进工作代码的问题可能都属于codereview.stackexchange.com。 – chepner
你的问题真的不清楚。如果一个任务在另一个循环内部需要两个循环 - 那么与将两个循环放入另一个循环内部相比,没有更好的方法。你应该描述所需的任务:显示代码而不解释你想做什么是不够理解的。 – linuxfan
男人,你需要评论。它会帮助人们了解你在做什么,为什么。 – SaintHax