美文网首页
linux shell编程学习--二组三运算

linux shell编程学习--二组三运算

作者: 爱编程的凯哥 | 来源:发表于2018-12-13 22:09 被阅读34次

    摘自菜鸟介绍:

    数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。
    与大部分编程语言类似,数组元素的下标由0开始。
    Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
    array_name=(value1 value2 ..... valuen)

    使用数组

    ${array[index]}

    例子

    #!/bin/bash
    array=(A B "C" D)
    echo "第一个元素${array[0]}"
    echo "第一个元素${array[1]}"
    echo "第一个元素${array[2]}"
    echo "第一个元素${array[3]}"
    echo "数组长度${#array[*]}"
    #字符串也一样获取长度
    teststr="dsfsdfsdfsdf"
    echo "字符串长度${#teststr}"
    

    附:字符串长度获取方法

    #!/bin/bash
    str="ABCD"
    #第一种,通过#获取
    echo ${#str}
    #第二种,通过awk函数length获取
    echo ${str} |awk '{print length($0)}'
    
    #第三种,通过awd函数F后的分割符获取,NF代表几个分割域,即多长
    echo ${str} |awk -F "" '{print NF}'
    ~ 还有几种。。。没都举,先够用
    

    shell运算

    • 介绍
      Shell 和其他编程语言一样,支持多种运算符,包括:
      算数运算符
      关系运算符
      布尔运算符
      字符串运算符
      文件测试运算符
      原生bash不支持简单的数学运算,但是可以通过其他命令来实现,
      例如 awk 和 expr,expr 最常用。
      expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

    • 使用expr计算

    
    #!/bin/bash
    a=8
    b=9
    echo ${a}
    #注意expr 表达式接的是`
    c=`expr ${a} + ${b}`
    echo ${c}
    echo `expr 23 + 33`
    d=`expr ${a} \* ${b}`
    echo ${d}
    echo `expr ${d} / 2`
    
    #注意表达式要用[],并且要有空格
    if  [ ${d} == ${a} ]
    then echo "不相等"
    fi
    
    if [ ${a}!=${a} ]
    then
        echo '不想动'
    fi
    

    总结

    菜鸟图
    • 关系运算符
    #!/bin/bash
    a=20
    b=23
    if [ $a -gt $b ]
    then
       echo "$a -gt $b: a 大于 b"
    else
       echo "$a -gt $b: a 不大于 b"
    fi
    
    菜鸟图

    下面类比(不再赘述,最后的实践中我们都会用到),总之,关系运算符我们那是用在判断是用来是否符合某一条件,用法一样,一般和if语句搭配使用。


    菜鸟图 菜鸟图 菜鸟图 菜鸟图

    相关文章

      网友评论

          本文标题:linux shell编程学习--二组三运算

          本文链接:https://www.haomeiwen.com/subject/slbehqtx.html