shell中的运算

1、运算符号

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

>                ##大于
>=              ##大于等与
=                ##等于
+=                j+=i        ##j=j+i
*=                ##j=j*i
/=                ##j=j/i
%=              ##j=j%i

2、运算指令

(( ))                ##((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

 脚本练习:算出mem总和

[root@westos137 mnt]# cat mem.sh 
#!/bin/bash
ps ax -o %mem|awk 'BEGIN{N=0}!/MEM|0.0/{N+=$1}END{print "memory:   "N"%"}'

脚本练习:10以内的猜数字游戏

[root@westos137 mnt]# cat luck_number.sh 
#!/bin/bash
LUCK=$[$RANDOM%10]
while true
do
  read -p "please input number:" NUM
  if [ "$NUM" = "exit" ]
  then
    exit
  elif [ $NUM = $LUCK ]
  then
    echo "$NUM is the luck number!!"
    exit
  elif [ $NUM -lt $LUCK ]
  then
    echo "$NUM is too small!"
  elif [ $NUM -gt $LUCK ]
  then 
    echo "$NUM is too big!!"
  fi
done

 

 脚本练习:70秒倒计时

[root@westos137 mnt]# cat time.sh
#!/bin/bash
MIN=1
SEC=10
TIME=$[$MIN*60+$SEC]
for((;TIME>0;TIME--))
do
  M=$[$TIME/60]
  S=$[$TIME%60]
  if [ $S -lt "10" ]
  then  
    echo -n "$M:0$S"
    echo -ne "\r"
    sleep 1
  elif [ $S -ge "10" ]
  then
    echo -n "$M:$S"
    echo -ne "\r"
    sleep 1
  fi
done

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值