计算机编程就是三大步:输入、运算、输出
那么计算机运算有哪些呢,计算机能做哪些运算呢?
我们来看看常见的计算机运算
一、赋值运算
赋值运算符 =
a=10
name='baism'
重点:字符串必须用引号引起来
二、算术运算(四则运算)
2.1 运算符与命令
四则运算符:
+
→ 加
-
→ 减
*
→ 乘
\
→ 除
扩展:
%
→ 取余
**
→ 开方
运算命令:
- 整形运算
–expr
–let
–$(())
–bc
- 浮点运算
–bc
2.2 整形运算
expr
命令:
只能做整数运算,格式比较古板,注意空格
[root@liza ~]# expr 1 + 1
2
[root@liza ~]# expr 5 - 2
3
[root@liza ~]# expr 5 \* 2 #注意*出现应该转义,否则认为是通配符
10
[root@liza ~]# expr 5 / 2
2
[root@liza ~]# expr 5 % 2
1
let
命令:
只能做整数运算,且运算元素必须是变量,无法直接对整数做运算
[root@liza ~]# let a=100+3;echo $a
103
root@liza ~]# let a=100-3;echo $a
97
[root@liza ~]# let a=100/3;echo $a
33
[root@liza ~]# let a=100*3;echo $a
300
[root@liza ~]# let a=100%3;echo $a
1
[root@liza ~]# let a=100**3;echo $a
1000000
[root@liza ~]# a=100
[root@liza ~]# let a++;echo $a
101
[root@liza ~]# let a--;echo $a
100
[root@liza ~]# let a-=3;echo $a
97
[root@liza ~]# let a+=5;echo $a
102
双小圆括号运算,在shell中(( ))
也可以用来做数学运算
[root@liza ~]# echo $(( 100+3))
103
[root@liza ~]# echo $(( 100-3))
97
[root@liza ~]# echo $(( 100%3))
1
[root@liza ~]# echo $(( 100*3))
300
[root@liza ~]# echo $(( 100/3))
33
[root@liza ~]# echo $(( 100**3)) #开方运算
1000000
2.3 浮点运算
浮点运算是采用的命令组合的方式来实现的 echo “scale=N;表达式”|bc
[root@liza ~]# echo "scale=2;3+100"|bc
103
[root@liza ~]# echo "scale=2;100-3"|bc
97
[root@liza ~]# echo "scale=2;100/3"|bc
33.33
[root@liza ~]# echo "scale=2;100*3"|bc
300
2.4 练习案例
2.4.1 实现一个四则运算计算器
案例思考: 计算器的功能: +
-
*
\
实现步骤:
- 要求用户传输三个参数,num1 算术运算符 num2
- 运算输出结果
实现代码
#!/bin/bash
#
#Author: li za
#Release:
#Description: 简单计算器
echo "$1 $2 $3"|bc
2.4.2 内存使用率统计,要求打印内存使用率
案例思考:
- 内存总量 获得方式是什么 free top /proc/meminfo
- 内存使用量
- 内存使用率公式 使用量/总量*100%
实现步骤:
- 获取内存总量
- 获取内存使用量
- 运算输出结果
实现代码
#!/bin/bash
#
#Author: li za
#Release:
#Description:内存使用率计算脚本
#free
#1、获得内存总量
memory_total=`free -m|grep -i "mem"|tr -s " "|cut -d " " -f2`
#2、获得内存使用的量
memory_use=`free -m|grep -i "mem"|tr -s " "<