[英]How to Do a For Loop Instead of a While Loop in Shell Scripting
我试图实现for循环而不是while循环,但也不知道如何实现。 这是我创建的while循环脚本。 我将如何使其成为for循环而不是while循环? 我不太了解for循环的工作原理。
#!/bin/bash
read -p "Number of Papers To Grade: " numpap
av=$numpap while [ $av -gt 0 ]; do av=$(($av - 1)) echo "Enter a Number (1-100): " read num if [[ $num -ge 1 && $num -le 100 ]] ; then echo "" else echo "Enter a Number Between 1-100 " av=$(($av + 1)) total=$(($total - num)) fi total=$(($total + num)) done averag=$(($total/$numpap)) echo Average Grade = $averag% echo "Done"
我修改了脚本以使用for
循环运行:
#!/bin/bash
read -p "Number of Papers To Grade:" numpap
for ((av=numpap; av>0; av--))
do
echo "Enter a Number (1-100): "
read num
if [[ $num -ge 1 && $num -le 100 ]] ; then
echo ""
else
echo "Enter a Number Between 1-100"
av=$(($av + 1))
total=$(($total - num))
fi
total=$(($total + num))
done
averag=$(($total/$numpap))
echo Average Grade = $averag%
echo "Done"
#!/bin/bash
var=5
for ((value=var; value>0; --value))
do
echo $value
done
这给出了输出:
5
4
3
2
1
您可以看看使用while / for / until编写循环的更多方法: 这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.