shell基础笔记2-运算与比较操作

1、let整数运算 

  let 变量名 = 变量1 运算符 变量2

  let++

  注意let命令只能执行整数的相关运算,运算结果也只能保存整数(除法取整,其余的有小数就报错

2、expr整数运算

  算术运算只能进行整数运算(除法取整,其余的有小数就报错),还可以进行字符串的操作

  expr expression1 操作符 expression2

  操作符 * 前必须加‘\’用于转义,并且操作符和两个expression之间必须有空格(和let不同)

  expr作为外部命令要用反引号引起来

    例:res=`expr $1 \* 4 +$3`

3、bc浮点数运算

  管道的应用:variable=`echo "OPTION;OPERATIONS" | bc`,其中scale作为bc一个最重要的选项,用来指定输出小数的位数

    例:n=`echo "scale=3;13/2" | bc`

      echo $n

      结果:6.500

4、字符串运算

  1、输出字符串长度

    法一:echo ${#str1}:输出变量$str1的长度

    法二:expr length $str1:输出变量$str1的长度

  2、取子串的操作

    法一:expr substr $string $position $length  注意位置编号从1开始

      str=“abcde123”

      expr substr $str 3 3

      结果:cde

    法二:echo ${string:$pos:$length}  注意位置编号从0开始

      str="abcde123"

      echo ${str:2:3}

      结果:cde

  3、字符串连接操作

    $str3="${str1}$str2"

    echo $str3

  4、字符串替换操作

    str="you and you and zhangsan"

    echo ${str/you/YOU}  #只替换一次

    结果:YOU and you and zhangsan

    echo ${str//you /YOU}  #全部替换

    YOU and YOU and zhangsan  

5、整数比较

  

6、字符串比较

7、逻辑操作

8、文件测试

猜你喜欢

转载自www.cnblogs.com/guang2508/p/12709673.html