for,while等循环

for格式一:

复制代码
for 变量名称(前面没有$) in 范围
 do                                            
 命令序列
done

#!/bin/bash
for i in {1..10}
do 
  echo $i
done

for格式二:

复制代码
for (( 表达式1;表达式2;表达式3 )) ; do
 命令序列
done

#!/bin/bash
for(( i=0;i<=5;i++ )) ; do
echo $i
done

while格式

(( ))用作整数运算。在 bash 中,(( ))的整数运算符号大致有这些:

      • * / 加、减、乘、除
  • % 余数运算
  • & | ^ ! AND、OR、XOR、NOT运算

在(( ))中的变量名称也可以在其前面加 符号

复制代码
while [判断条件]

do

​ 命令序列

done


#!/bin/bash
i=0
odd_sum=0
even_sum=0
while [ $i -lt 100 ]
 do
   let i++
   if [[ $(($i % 2)) -eq 0 ]]
   then
     even_sum=$(( $i+$even_sum ))
   else
     odd_sum=$(( $i+$odd_sum ))
   fi
 done
echo "奇数累计和 ${odd_sum} 偶数的累计和: ${even_sum}"

until循环

复制代码
until [条件判断]
do
 命令序列
 done

until [ 1 -eq 2 ]
do
 echo "循环了"
done

#!/bin/bash
a=$(( RANDOM%10+1))
echo "正确数字是 " $a
times=0
for(( ; ; ))
do 
   read -p "输入数字" num
   let times++
   if [[ $num -eq $a ]]
   then
      echo "猜对了!"
      break
   elif [[ $num -gt $a ]]
   then
      echo "数字偏大"
   elif [[ $num -lt $a ]]
   then 
      echo "数字偏小"
   fi
done
echo "一共猜了 $times 次"
相关推荐
IT大白鼠33 分钟前
搜索系列 · 第 04 篇——部署实操:内网集群落地
运维·elasticsearch·nosql
Elastic 中国社区官方博客1 小时前
使用 Jev 作为 search reranker:基准测试与实现方法
大数据·运维·elasticsearch·全文检索
红红谈说1 小时前
浏览器自动化环境老是起不来?依赖治理与启动自检的一次复盘
运维·自动化·浏览器自动化·进程残留·环境依赖·启动自检·版本比较
赵民勇2 小时前
glib-compile-schemas命令详解
linux·运维
小小、码农2 小时前
〖Linux进程间通信〗IPC全家桶:匿名管道、FIFO、共享内存、消息队列与信号量一篇打通
linux·运维·服务器
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-67-SSL加密认证
linux·运维·数据库·sql·学习·ssl
掉进电商坑三年没爬出来的东叔2 小时前
2026最新:青龙面板搭建全自动薅羊毛脚本,云服务器24小时挂机教程
运维·服务器·pygame
ggaofeng2 小时前
精简版ssh(去掉认证和加密流程,更清晰的展示远程登录的底层实现)
运维·ssh
0+1113 小时前
Linux --应用层自定义协议与序列化
linux·运维·服务器·网络·tcp
dyxal3 小时前
Linux Crontab 防重复执行利器:flock 文件锁实战详解(脱敏版)
linux·运维·服务器