一、运算方式及运算符号
运算符号 | 意义 |
---|---|
+,— | 加法,减法 |
*,/,% | 乘法,除法,取余 |
** | 幂运算 |
++,—— | 自增加,自减少 |
<,<=,>,>= | 比较符号 |
=,+=,—=,*=,/=,%= | 赋值运算 (例如:a+=1相当于a=a+1) |
二、运算操作与运算命令
运算操作与运算命令 | 含义 |
---|---|
(()) | 用于整数运算 |
let | 用于整数运算,与(())类似 |
expr | 用于整数运算,功能相对较多 |
bc | linux下的计算器,适合整数及小数运算 |
$[] | 用于i整数运算 |
三、具体实例
[root@localhost mnt]# ((a=1+1)) //运算1+1
[root@localhost mnt]# echo $a
2
[root@localhost mnt]# let a=1+2 //用let运算
[root@localhost mnt]# echo $a
3
[root@localhost mnt]# a=1+1 //此时相当于将1+1付给变量a,而不是将1+1的计算结果赋值给a。
[root@localhost mnt]# echo $a
1+1
[root@localhost mnt]# echo `expr 1+1`
1+1
[root@localhost mnt]# echo `expr 1 + 1` //注意运用中间用空格空开
2
[root@localhost mnt]# let a=3**3 //计算3的三次方
[root@localhost mnt]# echo $a
27
[root@localhost mnt]# bc //启用计算器
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+1 //进行运算
2
2*6
12
9%2
1
9/2
4
quit //退出
四、脚本实例
实验一:写一个倒计时10秒钟的脚本
[root@localhost mnt]# vim count_down.sh
#!bin/bash
for Time in {10..1}
do
echo -n " after $Time's is end " //-n表示不换行的输出
echo -ne "\r \r" //-e表示转译特殊字符,-r表示换行
sleep 1
done
[root@localhost mnt]# sh count_down.sh //此时执行会有倒计时出现
^Cter 4's is end
实验二:设置任意时间的倒计时
[root@localhost mnt]# vim count_down2.sh
#!/bin/bash
read -p "Please input the minute: " MM
read -p "PLease input the second: " SS
let Time=MM*60+SS //将时间转换为秒
for ((;Time>0;Time--))
do
let MM=Time/60 //分钟为时间除以60
let SS=Time%60 //秒数为时间对60取余
echo -n " after $MM:$SS's is end "
echo -ne "\r \r"
sleep 1
done
[root@localhost mnt]# sh count_down2.sh
Please input the minute: 1
PLease input the second: 9
^C after 0:56's is end
实验三:设置任意时间进制的倒计时
#!/bin/bash
PRINT_MESSAGE()
{
echo -n "$MM:$SS "
sleep 1
echo -ne "\r \r"
}
MM=1
SS=10
for((;SS>=0;SS--))
do
[ "$SS" = "0" -a "$MM" = "0" ] && exit 0 //倒计时到0时退出
[ "$SS" = "0" -a "$MM" -gt "0" ] && { //秒钟到0,分钟大于0是,分钟减一
((MM--))
SS=6 //这里定义进制
}
PRINT_MESSAGE
done
实验四:制作一个计算器要求如下
1.执行Calculator.sh后显示
2.请输入您要操作的数字:
3.请输入要操作的运算:
4.请输入要操作的第二个数字:
5.>>执行后显示操作后的数值<<
[root@localhost mnt]# vim Calculator.sh
#!/bin/bash
read -p "Please input first number: " FIRST
read -p "Please input first operation: " OPER
read -p "Please input second number: " SECOND
bc <<EOF //进入运算环境
$FIRST $OPER $SECOND
EOF
[root@localhost mnt]# sh Calculator.sh
Please input first number: 1
Please input first operation: +
Please input second number: 6
7