首页 > 系统相关 >shell编程中的循环语句

shell编程中的循环语句

时间:2022-10-31 15:55:05浏览次数:38  
标签:语句 do shell 编程 while done bash root localhost

一、for循环

 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done 之间),直到所有元素取尽为止。其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔符(如空格符)隔开,这些字符串称为字段。

格式:

 1 for 变量名 in 取值列表
 2 do
 3   命令序列
 4 done
 5  
 6 或者
 7 for ((变量初始值; 变量范围; 迭代方法))
 8 do
 9   命令序列
10 done

案例:批量创建用户

 2 [root@localhost ~]# vim name.txt
 3 创建用户名字的文件
 4 [root@localhost ~]# vim user.sh
 5 编辑脚本
 6 #!/bin/bash
 7 for i in `cat name.txt`
 8 do
 9 useradd $i
10 done
11  
12 [root@localhost ~]# bash user.sh

 

 

 

 

创建成功

 

 

二、while循环

while语句的用法

  • 重复测试某个条件,只要条件成立则反复执行
  • 常在不知道范围的时候成立

格式:

while  条件判断
 
do
 
循环体
 
done

案例:猜数游戏

 1 [root@localhost ~]# vim cai.sh
 2  
 3 #!/bin/bash
 4 pc=$[RANDOM%10+1]
 5  
 6 ci=0
 7 while true
 8 do
 9 read -p "请猜一个数字:" shu
10 if [ $shu -eq $pc ];
11 then
12 echo "你猜对了"
13 break
14 elif [ $shu -gt $pc ];
15 then
16 echo "你的数大了"
17 else
18 echo "你的数小了"
19 fi
20 let ci++
21 done
22 echo "你输入的次数为:" $ci
23  
24 [root@localhost ~]# bash cai.sh
25 请猜一个数字:1
26 你的数小了
27 请猜一个数字:0
28 你的数小了
29 请猜一个数字:9
30 你的数大了
31 请猜一个数字:7
32 你的数大了
33 请猜一个数字:5
34 你的数大了
35 请猜一个数字:4
36 你猜对了
37 你输入的次数为: 5

 

2.1while 读取文件内容

格式:

 1 while read 变量名
 2 do 
 3   
 4 done < 文件名
 5  
 6 或者
 7 cat 文件名 | while read 变量名
 8 do
 9  
10 done

 

三、until循环

格式:

until 条件测试操作
 
do
 
命令操作
 
done

 

案例:计算1-50的和

 1 [root@localhost demo]# vim 2.sh
 2  
 3 #!/bin/bash
 4 a=0
 5 sum=0
 6 until [ $a -gt 50 ]
 7 do
 8   sum=$[ sum + a ]
 9   let a++
10 done
11 echo "1-50的和为$sum"
12 [root@localhost demo]# bash 2.sh
13 1-50的和为1275

 

标签:语句,do,shell,编程,while,done,bash,root,localhost
From: https://www.cnblogs.com/zhao222/p/16844605.html

相关文章

  • 大一学生《Web编程基础》期末网页制作 HTML+CSS+JavaScript 网页设计实例 企业网站制
    HTML实例网页代码,本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人......
  • 编程C语言复习
    运算符的优先级从高到低大致是:单目运算符、单目就是一个操作数,比如++,a++,操作数只有一个a双目就是两个操作数,最熟悉的就是+,a+b,计算a、b的和三目就是三个操作数......
  • Linux管道命令与shell编程(隐私版)
    管道相关命令目标​​cut​​​​sort​​​​wc​​​​uniq​​​​tee​​​​tr​​​​split​​​​awk​​​​sed​​准备工作vimscore.txtzhangsan689926lisi......
  • Python学习八:数据库编程接口
    文章目录​​一、数据库编程接口​​​​1.1连接对象​​​​1.1.1获取连接对象​​​​1.1.2连接对象的方法​​​​2.1游标对象​​一、数据库编程接口1.1连接对象1.......
  • 编程之美 - 1.2 中国象棋的将帅问题
    问题导读:在一把象棋的残局中,象棋双方的将帅不可以相见,即不可以在中间没有其他棋子的情况下在同一列出现。而将、帅各被限制在己方的3*3的格子中运动。相信大家都非常熟悉象......
  • 分页查询数据库语句汇总
    分页查询在后端开发中经常遇到,根据前台传到后端的数据,使用数据库语句找出对应记录数是一重点分页查询:1.前端传给后台的数据1.页码:用户点击页码换页2.页容量:每页显......
  • js异步编程的三种模式
    写在前面javascript语言的执行环境是"单线程"(singlethread),就是指一次只能完成一件任务。如果有多个任务,就必须排队,等前面一个任务完成,再执行后面一个任务,以此类推。......
  • 漏洞评分高达9.8分!Text4Shell 会是下一个 Log4Shell吗?
    在过去的几天里,ApacheCommonsText库中一个名为Text4Shell的新漏洞引起很大的轰动,该漏洞存在于ApacheCommonsText1.5到1.9版本中。此警报于10月18日发布,此前检测到......
  • Shell脚本基础简述
    一、shell的定义1.1、shell的基本概念shell:介于系统内核与用户之间,负责解释命令行1.2、shell脚本的应用(1)重复性操作(2)交互性任务(3)批量事务处理(4)服务运行状态监控(5)定时任......
  • 在shell脚本中定位自己的位置
    有时候,出于方便,需要给某些第三方软件编写启动脚本。这些第三方软件可能打包了自己所需要的库,只有通过相对路径才能访问这些库。这就需要在启动脚本中探测软件的根目录,使得......