Shell——quan——运算命令

运算命令:
(()) 用于整数运算的常用运算符
((i+1)) 用echo $((i=i+1))输出其值
i=$((i+1)) 将表达式运算后的值付给i
((8>7&&5==5)) 进行比较操作,用于条件判断
echo $((2+1)) 直接输出计算结果
[root加quan油 SH]$a=9
[root加quan油 SH]$echo $((a++))
9
[root加quan油 SH]$echo $a
10
[root加quan油 SH]$echo $((++a))
11
[root加quan油 SH]$echo $a
11

注意:echo $((a++)) echo $((a--)) 显示运算前的值,即a的值
echo $((--a)) echo $((++a)) 显示的是运算后的值
在(())使用变量时可以忽略变量前的$ echo $((my+1))

expr用法:expr(evaluate(求值) expression(表达式)) 
        既可以运算整数,也可以用于字符串长度,匹配等处理
    注意: 计算时,运算符和数字之间都需要空格
            乘号要反斜线转义
    *eg:expr 9 + 1
        i=`expr 9 + 1`
        i=`expr $i + 1`变量需要用反引号括起

*
判断一个变量值或字符串是否为整数
原理:利用expr计算时变量或字符串必须为整数的规则,把变量和一个整数(非零)
相加,判断命令返回是否为0,0——成功为整数
#!/bin/bash
expr $1 + 1 &> /dev/null
if [ $? -ne 0 ];then
echo "char"
else
echo "int"
fi

判断扩展名是否符合要求 注意运算的时候都要加空格
*#!/bin/bash
if expr "$1" : ".
.sh" &>/dev/null
then
echo "thie name is right"
else
echo "you must rename to $1.sh"
fi
通过expr计算字符串的长度
#!/bin/bash
for N in quan zhi qiang
do
if [ expr length $N -le 4 ]
then
echo $N
fi
done**

bc 交互式计算,命令行计算
**echo 9+9|bc
echo `seq -s "+" 10`=`seq -s "+" 10|bc`**(其中seq为生成数字序列 -s 分隔符)
**1+2+3+4+5+6+7+8+9+10=55**
awk 计算小数很准确
    **echo "9.9 9.8"|awk '{print (($1-3)*$2)}'
    67.62**

转载于:https://blog.51cto.com/14240011/2362726

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值