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

时间:2018-12-12 12:44:16

标签: linux bash shell sh

我试图实现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"

2 个答案:

答案 0 :(得分:0)

#!/bin/bash
var=5
for ((value=var; value>0; --value))
do
    echo $value
done

这给出了输出:

5
4
3
2
1

您可以看看使用while / for /直到here

编写循环的更多方法。

答案 1 :(得分:0)

我将您的脚本修改为通过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"