Linux 如何在Shell脚本中执行For循环而不是While循环
我试图实现for循环,而不是while循环,但也不知道如何实现。这是我创建的while循环脚本。如何将其转换为for循环而不是while循环?我不太明白for循环是如何工作的Linux 如何在Shell脚本中执行For循环而不是While循环,linux,bash,shell,sh,Linux,Bash,Shell,Sh,我试图实现for循环,而不是while循环,但也不知道如何实现。这是我创建的while循环脚本。如何将其转换为for循环而不是while循环?我不太明白for循环是如何工作的 #/bin/bash 阅读-p“要评分的论文数量: “努帕 av=百万美元 而[$av-gt 0]; 做 平均价值=$($av-1)) echo“输入一个数字(1-100):” 读取数值 如果[$num-ge 1&$num-le 100]];然后 回声“” 其他的 echo“输入一个介于1-100之间的数字 " 平均价值=
#/bin/bash
阅读-p“要评分的论文数量:
“努帕
av=百万美元
而[$av-gt 0];
做
平均价值=$($av-1))
echo“输入一个数字(1-100):”
读取数值
如果[$num-ge 1&$num-le 100]];然后
回声“”
其他的
echo“输入一个介于1-100之间的数字
"
平均价值=$($av+1))
总计=$($total-num))
fi
总计=$($total+num))
完成
平均值=$($total/$numpp))
回波平均等级=$averag%
回音“完成”
这将提供以下输出:
5
4
3
2
1
您可以查看更多使用while/for/until编写循环的方法:我修改了您的脚本以使用
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"
for((av=numpap;av>0;--av));做。。。完成
5
4
3
2
1
#!/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"