• shell的基本语法


    一 赋值运算符

       1 += :使用方法是,((x+=需要增加的数字))算和值。

       2 *=  :使用方法是,((x*=需要怎加的倍数))算乘值。

       3 %= :使用方法是,((x%=需要除以的数字))算余数。

      4  /=:使用方法是,((x/=需要除以的数字))算除值,取整。

    二 bc的算法

       可以算出小数部分,使用方法是echo 'scale=想要保留几位小数;数字/数字’| bc -l

       换成百分数的方法是1, res=$(echo 'scale=想要保留几位小数;数字/数字’| bc -l |cut -d‘.’ -f2)

     2.  echo ${res}%  。

    三 ,test命令

       test后面加上一个表达式。-a表示两个表达式。

                           -o相当于逻辑或

                           -n 后面加上字符串

                           -z 测试字符串长度为零,结果才为真。

                           = 字符串是否相等

                           != 字符不相等

                            -eq 判断数字是否相等

                            -ge 判断一个数字大于或等于另一个数字

                            -gt 判断一个数字大于另一个数字

                            -lt 判断一个数字小于另一个数字

                            -le判断一个数字小于或等于另一个数字

                            -ne 判断数字不相等

                            -b 文件存在并且是一个块设备文件

                            -d 文件存在并且是一个目录

                            -e 文件存在

                            -f 文件存在并且是普通文件

    四 流程控制

      1 要有解释器  是由#!/bin/bash解释的

      2 if判断,后面跟上判断条件,后面可以跟任意命令

      3 最后加上fi,就是if的反写

    例图1

    例图2

    while循环结构

      1 在执行的动作前面加上do

      2 在执行动作的结尾加上done

    例图1

    例图2 

    shell中的for循环

      1 for循环的格式for i in {操作的类容}

      2 还是在操作的动作前面加上do

      3 执行的动作

      4 执行的动作最后加上done

    shell的for,常用in列表方式

     for i in 1 2 3

     for i in {1,2,3}

     for i in {1..9}

     for i in {9..1}

     for i in {a..z}

     for i in {A..Z}

     for i in {X..Z}

     for i in $(cmd)

     for i in $(find ...)

    例图1

    例图2

     例图3

    而c语言的for格式是

    #!/bin/bash
    for((初始值;循环控制的变量条件;变量变化))
    do
    执行变量的程序
    done
    例图
     

    多个for嵌套
    嵌套for中使用

    continue:默认退出本次循环

    break:默认退出本层循环

    可以直接在命令行写for循环

    for i in {1..10};do [ $i -eq 5 ] && continue || echo $i;done
    for i in {1..10};do [ $i -eq 5 ] && break || echo $i;done

  • 相关阅读:
    邮箱正则表达式写法
    java中的的正则表达式
    Java中重载(overload)和重写(override)的区别
    内部类的使用规范
    Java静态代码块(static block)调用陷阱小记
    sychronized关键字的使用
    关于java中一次编译多个源文件时的编译顺序的问题
    java中内部类的访问调用
    map的三种遍历方法
    Java堆.栈和常量池
  • 原文地址:https://www.cnblogs.com/fangjie0410/p/6945952.html
Copyright © 2020-2023  润新知