当前位置: 首页 > article >正文

【Linux】结构化命令:while命令

1、基本介绍

while命令定义了一个要测试的命令,只要该命令的退出状态码为0,就循环执行一组命令;反之,退出状态码不为0,则停止循环。

格式:

while test command

do

   commands

done

while命令中的test command与if-then语句中的格式完全一样,可以使用任何bash shell命令,或者用test command进行条件测试。

while命令的关键在于指定的test command的退出状态码必须随着循环中执行的命令而改变,如果退出状态码不发生变化,那while循环就成了死循环。

 test command最常用的方法是使用方括号检查循环命令中用的shell变量值。

#!/bin/bash
var1=20
while [ $var1 -gt 0 ]
do
  echo $var1
  var1=$[ $var1-2 ]
done

 2、使用多个测试命令

当while语句定义了多个测试命令(每个测试命令要单独放在一行中),只有最后一个测试命令的退出状态码才会被用于决定是否结束循环。且在每次迭代时所有的测试命令都会被执行,包括最后一个测试命令失败的末次迭代。

#!/bin/bash
var1=12

while echo $var1
      [ $var1 -ge 2 ]
do
  echo "这是一个whil循环。"
  var1=$[ $var1 - 1 ]
done


http://www.kler.cn/a/449886.html

相关文章:

  • Day1 苍穹外卖前端 Vue基础、Vue基本使用方式、Vue-router、Vuex、TypeScript
  • 在 Ubuntu 下使用 Tauri 打包 EXE 应用
  • Zabbix6.0升级为7.2
  • 前端开发 之 12个鼠标交互特效上【附完整源码】
  • 如何在K8S集群中查看和操作Pod内的文件?
  • 面试题整理9----谈谈对k8s的理解1
  • unipp中使用阿里图标,以及闭坑指南
  • 端口状态检查工具portchecker.io
  • 【OceanBase 诊断调优】—— packet fly cost too much time 的根因分析
  • STM32——“SPI Flash”
  • CentOS-stream-9安装ansible
  • 【stable diffusion】ComfyUI 使用 LoRA 极简工作流
  • 重温设计模式--工厂模式(简单、工厂、抽象)
  • Spring Boot 动态定时任务管理系统(轻量级实现)
  • IDEA自己常用的几个快捷方式(自己的习惯)
  • Nginx三种安装方式
  • 【Threejs】从零开始(十一)--3D交互事件
  • Ubuntu20.04 修改root密码
  • 小程序将对象通过url传递到下个页面
  • LeetCode每日三题(一)哈希
  • R语言基础| 功效分析
  • Effective C++ 条款 02:尽量以 const,enum,inline 替换 #define
  • 递归查询全量分页数据问题
  • C++---------随机库,standfor库
  • 16×16LED点阵字符滚动显示-基于译码器与移位寄存器(设计报告+仿真+单片机源程序)
  • IMX6ULL开发板如何关掉自带的QT的GUI界面和poky的界面的方法