美文网首页
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