shell编程(八)变量的数值计算

一  算术运算符

变量的数值计算

自增自减

1) a++ -->变量a在'运算符之前',会'先'输出表达式的值为'a','然后'a自'增'或自'减'

2) ++a -->变量a在'运算符之后',会'先'进行自'增'或自'减',表达式的值就是'自增或自减后'a的值

二  算术运算命令

变量的数值计算

①  双括号(())

语法: ((expression)

备注: 双括号是在Bash shell中执行'基本算术运算'的最'简单'机制,可以使用'(不)带前导$的双括号'来使用此方法

核心: 数值'运算'、数值'比较'

注意: "(())"涉及的变量'必须是整数(有点歧义哈-->尽量整数)','不能'是'浮点数'或'字符串'

《跟老男孩学Linux运维之shell编程实战》-第四章 变量的数值计算3

value too great for base

②  let运算命令

说明: '(())'比'let'效率高

③  expr命令

需求: 通过expr'判断变量'或字符串'是否为整数'

原理: 用expr做'计算时'变量或字符串'必须是整数'的规则,把一个'变量或字符串'和一个'已知的整数(非0)'想加,看'命令的返回值'是否为0

思考: 为什么'被加数'不能是0?

linux的shell脚本下判断一个变量值或字符串是否为整数

需求: 判断'文件扩展命名'是否'符合'要求

if  expr  "$file" : ".*\.sh" &> /dev/null;then
    echo "是此类型"
else
    echo "不是此类型"
fi

④  bc命令

说明: 这里主要讲解'非交互'的操作方式

1)借助管道使用 bc 计算器

需求: '直接输出' bc 的计算结果,那么可以使用'下面'的形式:

echo "expression" | bc

备注: expression就是希望'计算的数学表达式',它必须'符合 bc 的语法';在 expression 中,还可以'使用' Shell 脚本中的'变量'

需求: 将 bc 的计算结果'赋值给 Shell 变量': variable=$(echo "expression" | bc)

了解: 除了'变量',bc 还支持'函数'、'循环'结构、'分支'结构等常见的'编程'元素

2)借助输入重定向使用 bc 计算器

需求: 将 bc 的计算结果'赋值'给 Shell 变量

variable=$(bc << EOF
expressions
EOF
)

备注: variable是 Shell '变量名',express是要计算的'数学表达式',EOF是数学表达式的'开始和结束'标识

⑤  awk命令

备注: 该部分先讲解'整数和小数'处理

⑥  declare命令

⑦  $[]

⑧  打印杨辉三角形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值