Shell运算符

Shell运算符

shell认变量是字符串类型,所以变量之间做运算需要符合shell特定的规则

expr 运算式

通过expr可以计算表达式的值,注意运算式数字和符号之间必须要有空格

[root@zookeeper1 shell]# expr 2 + 3
5

# 特殊字符需要转义才能识别
[root@zookeeper1 shell]# expr 2 /* 3
expr: 语法错误
[root@zookeeper1 shell]# expr 2 \* 3
6

# 通过``将exp运算式的值赋给变量
[root@zookeeper1 shell]# result=`expr 2 + 3`
[root@zookeeper1 shell]# echo $result
5
# 通过$()将expr运算式的值赋给变量
[root@zookeeper1 shell]# result=$(expr 2 \* 3)
[root@zookeeper1 shell]# echo $result
6

$((运算式))

通过$((表达式))也可以得到运算式的值,并且特殊字符不用转义,运算式之间也可以不需要空格

[root@zookeeper1 shell]# echo $((2+3))
5
[root@zookeeper1 shell]# result=$((2*3))
[root@zookeeper1 shell]# echo $result 
6

$[运算式]

通过$[运算式]也可以得到运算式的值,并且特殊字符不用转义,运算式之间也可以不需要空格,这种方式也是比较常用的

[root@zookeeper1 shell]# echo $[2+3]
5
[root@zookeeper1 shell]# result=$[2+3]
[root@zookeeper1 shell]# echo $result 
5

一个简单的脚本

新建add.sh脚本,内容如下:

[root@zookeeper1 shell]# cat add.sh 
#!/bin/bash

sum=$[$1+$2]
echo "sum=$sum"

执行脚本

[root@zookeeper1 shell]# ./add.sh 2 3
sum=5

相关文章

Centos系统之Shell编程基础知识
从Export理解Shell环境和变量生存期
linux shell数组变量、类型及规则
Centos编程Shell基本工作原理方案
Centos操作系统编程之Shell 问答录
rsync-linux备份脚本