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

标签 linux bash shell sh

我正在尝试实现 for 循环而不是 while 循环,但也不知道如何实现。这是我创建的 while 循环脚本。我如何将其变成 for 循环而不是 while 循环?我不太明白 for 循环是如何工作的。

#!/bin/bash<p></p>

<p>read -p "Number of Papers To Grade:
" numpap</p>

<p>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"
</p>

最佳答案

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

这给出了输出:

5
4
3
2
1

您可以查看更多使用 while/for/Until 编写循环的方法: here

关于linux - 如何在 Shell 脚本中执行 For 循环而不是 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53743309/

相关文章:

c++ - epoll_wait() > 1 可以只有 1 个套接字和 1 个事件——EPOLLIN 吗?

linux - 我想从文件中搜索一个词并将其替换为文件中的另一个值

linux - 服务文件中的 After 和 Requires 标签是什么意思?

linux - 如何显示 Bash 字符串中包含的唯一单词?

linux - 如何在 bash 中将十进制转换为十六进制?

Linux:如何从文件名中提取信息?

bash - 执行 Maven 插件 : exit code

linux - 为什么 Linux 在按下 Ctrl+C 时总是输出 "^C"?

java - 如何将字符串变量作为 shell 脚本参数传递?

Bash 脚本 - 询问用户输入文件,如何使制表符完成工作?