首页 > 系统相关 >shell脚本循环

shell脚本循环

时间:2024-06-17 17:02:40浏览次数:13  
标签:脚本 do shell echo break 循环 done 执行

Shell脚本循环

循环:循环是一种重复执行一段代码的结构。只要满足循环的条件,会一直执行这个代码。

组成部分:循环条件、循环体

循环条件:在一定范围之内,按照指定的次数来执行循环。 循环体:在指定的次数内,执行的命令序列。只要条件满足,循环体会被一直执行。

循环和遍历: 遍历:就是对数据结构中每个元素进行一次访问的过程,通常和循环一起使用。 访问的目的就是为了执行特定的操作。 循环属于操作,遍历就是输出

循环的作用:

1、重复执行代码,尤其是统一的,相同的,批量的操作。

2、提供代码的重复利用率

3、提高人工效率 ,减少人工干预,提高效率。

4、简化程序逻辑,降低代码的出错可能性

for循环: 使用场景:用于已知循环次数的场景。

while循环:和for循环可以互相替换,常用于死循环

until循环:条件不满足执行,条件满足不执行。

for循环格式:

格式1: for 变量名称 ( 前面无$) in 范围 { } do 命令序列 done

#现在创建一个文件passwd.txt
#在这个文件中创建三行,xy101 xy102 xy103
#使用循环创建这个三个用户,统一设定密码为123456
for user in $(cat /opt/passwd.txt)
do
 useradd $user
 echo 123456 | passwd --stdin $user
done

格式2(类c语言格式):

for((表达式1;表达式2;表达式3))

do

​ 命令序列

done

#累加求和?1-100一直相加,最后的结果是多少呢?用循环来实现?
sum=0
for ((i=1;i<=100;i++))
do
 sum=$[ $sum+$i ]
done
 echo $sum
#分别求出奇数和以及偶数和
for((i=1;i<=100;i++))
do
 if [[ $i%2 -eq 0 ]]
 then
  sum=$(( $sum+$i ))
 else
  sum1=$(( $sum1+$i ))
 fi
done
 echo $sum
 echo $sum1

#自定义输入一个数,然后求从1到该数字的累加和?不要超过100
read -p "输入一个不超过100的数:" num
sum=0
if [[ $num -eq $num ]] &> /dev/null
then
 for((i=1;i<=$num;i++))
 do
   sum=$(( $sum+$i ))
 done
echo $sum
else
 echo 请输入整数
fi

格式3(死循环):

for ((;;))

do

命令序列

done

循环控制语句 continue break

break:在循环内部,执行到break命令时,会立即跳出当前循环,并终止
continue:把执行到continue时,跳出当前循环,但是如果循环条件满足,会执行后续的循环条件。

#猜数字,输入一个0-100的随机数,这个随机数由系统生成
#死循环,一直到用户猜中为止,才中了循环才会终止。
$RANDOM 0-32767
#循环控制语句 continue break
#猜大了,提示用户猜大了,猜小了,提示用户猜小了。猜对了,终止循环,并提示用户你猜对了!
a=$(($RANDOM%10+1))
for ((;;))
do
read -p "输入一个0到100的数:" num
count=$(( $count+1 ))
 if [[ $num -eq $a ]]
  then
   echo "恭喜你猜中了"
   echo "猜了$count次"
  break 
  echo "猜了$count次"
 elif [[ $num -lt $a ]]
 then
  echo "猜小了" 
 elif [[ $num -gt $a ]]
 then
  echo "猜大了"
 fi
done

标签:脚本,do,shell,echo,break,循环,done,执行
From: https://blog.csdn.net/cycjok/article/details/139656593

相关文章

  • 初学C语言——循环语句2
    switchswitch语句也是一种分支语句,常常用于多分支的情况switch语句,语法结构语法结构:switch(整形表达式){    语句项;语句项:是一些case语句如:    case整型常量表达式:            语句;}解释break,defaultbreak:1.在循环......
  • 初学C语言——循环语句1
    C语言是结构化的程序设计语言分为:顺序结构、选择结构(分支语句)、循环结构(循环语句)分支语句和循环语句分支语句有if语句和switch语句循环语句有while、for、do、while、do...while、goto语句什么是语句?C语言中有一个分号(;)隔开的就是一条语句如:    printf("......
  • 使用Jupyter(python+opencv)实现特别难的脚本-Day2
    Day2那昨天实现了这个自动挖土,我发现这个yb也是很扯0的东西,所以今天简单优化优化,完了再简单优化一下双手,写个yb吧。首先依旧是库一小堆儿fromPILimportImageimportpyautoguiimportrandomimportpygetwindowasgwimporttime然后那既然是优化那肯定是面向对象......
  • 使用Jupyter(python+opencv)实现很难的脚本-Day1
    由于xx西游没办法自动挖图,于是懒狗的我只能自己写一段脚本来实现挖土自由。首先介绍几个比较重要的库都需要自行install。fromPILimportImage#用于计算图片大小的库importpyautogui#用于抓取目标位置的库importpygetwindowasgw#用于得到窗口大小的库......
  • 开发一个python工具,pdf转图片,并且截成单个图片,然后修整没用的白边及循环遍历文件夹全
    今天推荐一键款本人开发的pdf转单张图片并截取没有用的白边工具一、开发背景:业务需要将一个pdf文件展示在前端显示,但是基于各种原因,放弃了h5使用插件展示原因有多个,文件资源太大加载太慢、pdf展示兼容性问题、pdf展示效果不好、pdf字体有时缺失等等,所以将项目中的协议等,全部由p......
  • Unity 脚本修改方块透明度使其有一个渐变效果
    usingUnityEngine;usingSystem.Collections;publicclassTestClass:MonoBehaviour{privatefloatAlphaValue=1.0f;privatefloattime=0.0f;privateboolstate=false;Materialmaterial;privatevoidStart(){mater......
  • 什么是shell?
    使用Mac系统的朋友应该比较熟悉Zsh和Bash这两个shell,但是对二者具体有什么区别可能不太了解。本文将从这两个shell入手,对相关概念以及二者区别进行解释。1.什么是shell?shell单词的本意是“壳子”,在计算机领域一样可以理解为机器外面的一层壳,目的是进行用于人机交互,本质上是命令......
  • 域名证书自动续期脚本acme同一证书更新后安装到多个程序目录的方法
    需求:同一个证书,有两个程序在使用,比如,nginx和apache,使用acme进行自动续期,前面都正常,但是使用acme.sh--install-cert的时候,只会记住最后一次设定的目录,比如先执行了nginx的,后执行了apache,则续费后,只更新apache的证书目录,想要实现两个都更新.解决方法:1.笨方法:将两......
  • 9、ansible-Ad-Hoc-点对点模式--m shell-shell模块(执行的就是linux命令)
    作用:可以执行任何有效的shell命令,包括管道、重定向和其他shell特性。该模块将在远程主机上启动一个shell,然后在该shell中执行命令。执行结果可以作为任务的输出返回,也可以将其保存到文件或变量中供后续任务使用。请注意,与其他模块相比,shell模块的执行效率较低,因为它需要在......
  • 13、ansible-shell、command、script使用
    command模块简介command模块用于在给的的节点上运行系统命令,比如echohello。它不会通过shell处理命令,因此不支持像$HOME这样的变量和,以及<, >, |, ;和&等都是无效的。也就是在command模块中无法使用管道符。模块参数名称必选备注chdirno运行command命令前......