Linux——Shell中常用的运算符号及运算命令、shell脚本实现倒计时

一、运算方式及运算符号

运算符号 意义
+,— 加法,减法
*,/,% 乘法,除法,取余
** 幂运算
++,—— 自增加,自减少
<,<=,>,>= 比较符号
=,+=,—=,*=,/=,%= 赋值运算 (例如: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

这里写图片描述

猜你喜欢

转载自blog.csdn.net/yifan850399167/article/details/80849833
今日推荐