shell - 如何计算在 shellscript 上执行 while 循环的次数
问题描述
这是我的代码
我想让它显示 while 已执行的时间并在最后用回显报告
#!/bin/bash
randomnum=$(($RANDOM%100))
echo "Try to guess the number"
read num
while [ $num -ne $randomnum ] ; do
if [ $randomnum -gt $num ]; then
echo "Number you look for is higher"
elif [ $randomnum -lt $num ] ; then
echo "number you looking for is lower"
else
echo "Input nonsense
fi
read num
done
echo "¡BINGO¡"
exit
解决方案
您是否正在寻找一种优雅的方式将变量增加 1?加 1 是可以接受的。
((i=i+1))
或者
((i++))
这当然意味着添加额外的代码行。我了解您想要循环迭代的次数,而不是指令数或总行数。
你有一个“启动阅读”,但你没有在下一次尝试中再次阅读循环体的低位,你的问题没有解决这个问题,但这对你来说可能很重要。
推荐阅读
- mysql - Python MySQL选择JSON值作为实际数据类型
- javascript - 以简单的方式为业余爱好者提供 Javascript API / 文件处理?
- entity-framework - 如何建立单向关系?
- stored-procedures - SSRS 报告返回的行数少于它调用的存储过程
- cmake - 如何使用来自 bitbake 配方的 qemu 运行程序?
- python - 对数刻度的 Seaborn 带状图
- java - Spring Boot Dashboard 不会在 VSCode 上显示 App
- node.js - mongodb如何在数组中查找字符串的长度
- javascript - 如何使用 fetch API 在 javascript 中下载具有多个块的单个文件
- excel - 使用具有特殊字符的路径执行 objExcel.Application.Run 时出现问题