繁体   English   中英

如何在Shell脚本中执行For循环而不是While循环

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM