• Linux的bash脚本编程(if语句和循环语句)


    if语句

      CONDITION:

        bash命令:

          用命令的执行状态结果:

            成功:true

            失败:false

          成功或失败的意义:取决于用到的命令

      单分支:

        if CONDITION;then

          if-true

        fi

      分支:

        if CONDITION;then

          if-true

        else

          if-false

        fi

      多分支:

        if CONDITION;then

          if-true

        elif CONDITION2;then

          if-true

        elif CONDITION3;then

          if-true

        ……

        else

          all-false

        fi

    循环:for

      for循环:

        for 变量名  in 列表 ; do

          循环体

        done

        执行机制:

          依次将列表中的元素赋值给“变量名”

        示例:添加10个用户,user1-user10,密码同用户名

          #!/bin/bash

          #

          if [ !$UID - eq 0 ]; then  

            echo "Only root"

            exit 1

          fi

          for i in {1...10}; do

            if id user$i & > /dev/null; then

            echo "user$i exists"

            else

              useradd user$i

            if [$? - eq 0 ]; then

              echo "user$i" | passwd --stdin user$i &> /dev/null

                echo "Add user$i finished"

              fi

            fi

          done

    列表的生成方式:

      (1)直接给出列表

      (2)整数列表

        {start..end}

        $(seq [start [step ] ]  end)

      (3)返回列表的命令

      (4)glob

      (5)变量引用

        $@,$*

      示例:判断某路径下的所有文件类型

        #! /bin/bash

        #

        for file in $(ls /var); do

          if [ -f /vvar/$file ]; then

          echo "Common file"

          elif [ -L /var/$file ]; then

          echo "Symbolic file"

          elif [ -d /var/$file ]; then 

          echo "Directory"

          else

          echo "Other type"

          fi

        done

  • 相关阅读:
    Andrew Ng机器学习 五:Regularized Linear Regression and Bias v.s. Variance
    cadence时各种焊盘层的定义
    cadence 关于PCB封装的设计
    candence 关于焊盘的描述
    cadence 关于DRC设置
    cadence的关于封装层叠
    cadence 学习
    stm32的一些参数
    无刷电机的FOC理解
    wait()、notify、notifyAll()的使用
  • 原文地址:https://www.cnblogs.com/nefu-Lc/p/9505595.html
Copyright © 2020-2023  润新知