shell中的运算符

一.运算符号

+ 	##加法
-	##减法
*	##乘法
/	##除法
%	##除法后的余数
**	##乘方
++	##自加一
--	##自减一
<	##小于
<=	##小于等与
>	##大于
>=	##大于等与
>=	##等于
+=	j+=i	##j=j+i
*=	*##j=j*i
/=	##j=j/i
%=	##j=j%i

二.运算指令

1.基本命令

(())	//((a=1+2))
let		//let a=1+2
expr	//expr 1 + 2
bc
bc << EOF
1+2
EOF

$[]	##echo $[1+2]

printf '%0.2f' .3 ==== 0.30
printf '%0.3f' .3 ====0.300
printf '%0.4f' .3 ====0.3000

2.示例

[root@westos_student70 Desktop]# echo $?
0
[root@westos_student70 Desktop]# ((a=1+1))
[root@westos_student70 Desktop]# 
[root@westos_student70 Desktop]# echo $a
2
[root@westos_student70 Desktop]# echo $[1+1]
2
[root@westos_student70 Desktop]# expr '1+1'
1+1
[root@westos_student70 Desktop]# expr 1+1
1+1
[root@westos_student70 Desktop]# expr 1 + 1
2
[root@westos_student70 Desktop]# bc

bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 

1+1
2
.1+.1
.2
^C
(interrupt) Exiting bc.
[root@westos_student70 Desktop]# printf '%0.2f' .2
0.20[root@westos_student70 Desktop]# 

三.计算cpu的占用率

[root@westos_student70 Desktop]# echo "`ps ax -o %cpu | awk 'BEGIN{N=0}!/0.0|%CPU/{N+=$1}END{print N}'`%"
19.7%

四.时间倒计时

(1)运算

 10 #!/bin/bash
 11 SEC=10
 12 MIN=1
 13 ((NUM=MIN*60+SEC))
 14 for (($NUM;NUM>0;NUM--))
 15 do
 16   ((min=$NUM/60))
 17   ((sec=$NUM%60))
 18   echo    "After $min:$sec time will be end!"
 19   sleep 1
 20 done
 21 echo "Time is end!"

(2)逻辑

#!/bin/bash
SEC=10
MIN=1
for ((;SEC>+0;SEC--))
do 
  if [ "$SEC" = "0" -a "$MIN" = "0"]
  then 
     exit
  elif [ "$SEC" = "0" -a "$MIN" -ge "0"]
  then
     echo -ne "$MIN:$SEC"
     sleep 1
     echo -ne "\r"
     SEC=6
     ((MIN--))
  else
     echo -ne "$MIN:SEC"
     sleep 1
     echo -ne "\r"
  fi
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值