zoukankan      html  css  js  c++  java
  • 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 from=yinhuanyi_cn@163.com smtp=smtp.163.com
    set smtp-auth-user=yinhuanyi_cn@163.com 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' 307443272@qq.com
            break
        fi
    done




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

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

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

  • 相关阅读:
    【VUE】数据库动态渲染标签,并且动态绑定事件与激活图标
    Linux shell select
    ceph介绍和安装
    C# 保存网络图片至本地项目中
    CS229 斯坦福大学机器学习复习材料(数学基础)
    SPRING.NET FRAMEWORK 3.0 GA啦
    U盘装机神器
    一行css让网页风格变成暗黑模式
    vue3 自学(一)基础知识学习和搭建一个脚手架
    windows使用nvm管理node不同版本
  • 原文地址:https://www.cnblogs.com/liu1026/p/7392222.html
Copyright © 2011-2022 走看看