09_Shell计算命令
一、expr命令
1.1、整数计算
#!/bin/bash
expr 1 + 1
result=`expr \( 10 + 10 \) \* 2 + 100`
echo $result
缺点:
1、整数运算时,特殊字符需要转义字符
2、赋值时必须用反引号 比较麻烦
3、每个整数和操作符之间都需要空格
1.2、字符串计算
含义 | 语法 | 示例 |
---|---|---|
获取字符串长度 | exper length 字符串 | expr length “12345” |
截取字符串 | expr substr 字符串 start end | expr substr “12345” 1 2 |
获取字符串子串下标 | expr index 字符串 要查找的字符 | expr index “12345” 3 |
正则表达式匹配 | expr match 字符串 正则表达式 | 使用时,具体学习,这里不做赘述 |
二、(( ))命令
整数运算,地表最强
2.1、内部解析变量并内部赋值
#!/bin/bash
((a=1+2))
echo $a
2.2、内部解析变量并外部赋值
#!/bin/bash
a=$((1+2))
echo $a
2.3、多表达式同步进行
#!/bin/bash
((a=1+2,b=2+3,c=3+4))
echo $a $b $c
2.4、逻辑运算
#!/bin/bash
a=8
echo $a
((a>7 && a<9))
echo $?
三、let命令
赋值变量,地表最简洁
let 赋值表达式
#!/bin/bash
#单个赋值
let a=1+6
let b=a+1
let c=a+b
echo $a $b $c
#多个赋值
let a=1+6 b=a+1 c=a+b
echo $a $b $c