bash循环语句

1  )单分支if语句

if 测试条件 ;then

如果满足条件就执行这里的代码

f

2)双分支的if语句

if  测试条件;then

如果满足条件就执行这里的代码

else

如果不满足条件就执行这里的 代码

fi

3)  read命令:通过键盘输入数据,将键盘输入的值传递给脚本的中定义的变量,从而完成变量赋值操作 。脚本中使用read命令可以使得用户能够与程序进行交互
 read命令的使用格式

# 这里变量名的意义在于将用户输入的值传递给这个变量名,那么在脚本中我们就可以拿到用户输入的值了
read [选项] [变量名]

选项:
    -p (promp):在用户在键盘输入数据时,指定显示提示符
    -t(timeout):指定超时时间,如果用户在指定的超时时间都没有输入的话,那么就终止脚本的执行

4)   在运行脚本前,我们一般先对脚本的语法进行检查,如果脚本有bug,我们再调试脚本
    语法检查

bash -n 脚本路径

脚本调试

bash -x 脚本路径

(2)过程式编程语言的执行流程

顺序执行
选择执行
循环执行

选择执行

(1)&&,||  
    command1 && command2:如果command1正确,也执行command2;如果command1不正确,不执行command2
    command1 || command2:如果command1正确,不执行command2;如果command1不正确,执行command2

(2)if语句
    if语句:三种格式
    我们之前已经学习了单分支的if语句
    接下来学习if多分支和if嵌套语句

(3)case语句

if嵌套语句格式

if [ 条件 ];then
    if [ 条件 ];then
        执行这里的代码
    fi
fi

if [ 条件 ];then
    if [ 条件 ];then
        执行这里的代码
    fi
else
    if [ 条件 ];then
        执行这里的代码
    fi
fi

if 多分支语句格式(注意:多个分支只会执行一个,执行首先为真的分支)

if  [ 条件1 ];then
        条件1为真执行这里的代码
elif [ 条件2 ];then
        条件2为真执行这里的代码
elif [ 条件3 ];then
        条件3为真执行这里的代码
.
.
.

elif [ 条件n ];then
        条件n为真执行这里的代码
else
        如果所有的条件都不满足时,执行这里的代码
fi

注意:多个分支只会执行一个,执行首先为真的分支

循环语句

前言:循环就是将一段代码重复执行0,1次或多次。
进入条件:条件满足时,需要进入循环
退出条件:每个循环都应该有退出条件,有机会退出循环
bash的循环分类:

for循环
    while循环
    until循环

for循环有两种格式 (重点必须掌握)
        第一种格式:遍历列表 (重点必须掌握)
        第二种格式:控制变量 (重点必须掌握)
    变量列表

for 变量 in 列表; do
    循环体
done

进入条件:只要列表中有元素,即可进入循环
退出循环:列表中的元素遍历完成

while循环 (重点必须掌握)

while CONDITION ; do
    循环体
    循环控制变量的修正表达式
    done
    进入条件:CONDITION测试为“真”
    退出条件:CONDITION测试为“假”

until循环 (非重点了解即可)

until CONDITION ; do
    循环体
    循环控制变量
    done
    进入条件:CONDITION测试为“假”
    退出条件:CONDITION测试为“真”

死循环

前言:continue、break、sleep命令、死循环,在循环语句中扮演了重要的角色,他们可以控制整个循环的执行过程
continue:跳出本次循环,进入下一轮循环
break:跳出整个循环
sleep:程序睡眠一个时间段
死循环:条件为true,永远为死循环

continue语句格式

while  [ 条件1 ]; do
    满足条件执行这里的代码
    if [ 条件2 ]; then
        # 跳出当前循环进入下一轮循环
        continue
    fi
    满足条件执行这里的代码
done

break :直接跳出整个循环

while [条件1]; do
    执行这里的代码
    if [条件2]; then
        break
    fi
    执行这里的代码
done

sleep命令
    示例:每隔3秒钟到系统上获取已经登入的用户的信息,其中,如果sb用户登入了系统,则给QQ发送邮件,主题为“sb user is login”,并退出

先修改/etc/mail.rc文件
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=yhy3426356
set smtp-auth=login

while true; do
    sleep 3
    if who | grep logstash &>/dev/null;then
        echo "sb user is login" | mail -s ‘somebody login‘ [email protected]
        break
    fi
done

while循环的特殊用法(遍历文件的行)

while read VARIABLE;do
    循环体
done < /PATH/TO/FILE

意思是:依次读取/PATH/TO/FILE文件中的每一行,且将其赋值给VARIABLE变量

时间: 2024-10-18 17:43:01

bash循环语句的相关文章

Linux基础之bash脚本进阶篇-循环语句(for,while,until)及其特殊用法

什么是循环语句.死循环? 循环语句:将一段代码重复执行0.1或多次:它有进入条件与退出条件. 重复运行多少次?我们如何设定循环语句的重复次数? 为了设定循环语句的重复次数于是就有了进入条件与退出条件. 进入条件:条件满足时进入循环. 退出条件:不符合条件退出循环. 一种特殊的循环:死循环 死循环:在编程中,一个无法靠自身的控制终止的循环称为"死循环".死循环的出现有两种情况: 1.因程序需要刻意写的:2.因程序员的失误造成的. 第二种的死循环通常会造成比较严重的程序错误,甚至会因此而影

bash之运算、测试、if语句及for循环语句

一.逻辑运算 布尔运算:真.假 与运算: 真 && 真 = 真 真 && 假 = 假 假 && 真 = 假 假 && 假 = 假 或运算: 真 || 真 = 真 真 || 假 = 真 假 || 真 = 真 假 || 假 = 假 非运算: 非真 = 假 非假 = 真 二.状态返回值 echo $? 成功:则返回0 失败:则返回1-255,失败不等于假 自定义:exit [n] 三.算数运算 1.定义整形变量 let VAR_NAME=INTEG

linux下Bash编程循环语句特殊用法之编写脚本(十)

linux下Bash编程while语句特殊用法之编写脚本(十) 1.循环控制: break:中断整个循环语句,即退出循环后执行脚本后面的语句 continue:中断当前本次循环,提前进入下一轮循环 exit:结束脚本运行 2.while死循环,即当不知道循环多少次时 格式 : while :; do 循环语句 done 3.while从输入重定向文件中每行读取并赋值给read变量 格式:  while read LINE;do 循环语句 done < 路径文件 4.实例脚本 4.1.找出/etc

bash 编程中循环语句用法

1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; then statement …. else statement …. fi 3.if …elif…elif…else 是多分支语句,使用格式如下: if condition ; then statement …. elif condition ; then statement ….. elif co

bash之条件判断语句及循环语句

一.for循环语句的两种用法 1.遍历有限的元素列表,语句在同一行用:分隔 语法: for VAR_NAME in LIST do 循环体 done LIST:列表,中间包括一个或多个元素 退出条件:遍历结束 2.条件测试 语法: for (( 初始条件:测试条件:修改表达式 )) do 循环体 done 二.if条件语句的用法 1.单分支if语句: if 测试条件:then 选择分支 fi 2.双分支if语句: if 测试条件:then 选择分支1 else 选择分支2 fi 3.多分支if语

shell基础(八)-循环语句

国庆过后:感觉有点慵懒些了:接着上篇:我们继续来学习循环语句. 一. for循环 与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符串等)组成的序列,每个值通过空格分隔.每循环一次,就将列表中的下一个值赋给变量 例如,顺序输出当前列表中的数字 for01.sh $ cat for01.sh #!/bin/sh for i in 1 2 3 4 5

13_Shell语言———语言控制结构之for循环语句

一.语言控制结构概述 在前文中(4_Shell语言---脚本概述)介绍过面向过程的编译语言,其控制结构主要有以下三种: a) 顺序执行:默认法则:一句一句逐行执行: b) 选择执行:进行条件判断,只有部分是符合条件的,故只执行符合条件的部分: 条件判断通常采用布尔测试:即判断条件为真或为假,在bash中: 0: 为真 1~255: 为假(即非0为假,这点和很多编程语言相反) c) 循环执行:将同一段代码反复执行N次,若N为无穷大,则会出现死循环的现象,故循环必须有退出条件,这里的N就是退出条件.

Shell脚本循环语句——for循环

学习脚本就是为了方便我们运维工作,而对运维人员从来讲,有很多工作也是需要重复执行的,比如我们管理用户帐户时就需要批量创建和删除用户帐户.而此时如果使用系统自带的useradd或者userdel去操作的话,就只能机械式的一个一个创建,一个一个的删除.那我们是不是就可以考虑写一个程序,让它自动化的去创建了.此时,我们的循环执行概念也就出来了.循环就是让程序按照一定的条件反复的执行相关操作,直到不在满足循环条件时结束. 循环语句常见分类: 1,for语句 2,while语句 3,until语句 循环体

条件判断式if和循环语句while及其函数的应用

条件判断式 if..then.case..esac if..then 是最常见的条件判断式,就是当负某个条件判断的时候,就进行某项工作 ,其中"&&"代表AND,"||"代表or if....then..else...fi 格式: if [条件判断语句]: then 当条件判断成立时,可以进行的命令工作内容: fi       // 结束if条件判断 例子:设定  A=3,判断,如果A要是等于3,就会显示3 if [ $A = 3 ]; then