内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

Shell之数字运算必会3类命令

2019-02-10 18:32 出处:清屏网 人气: 评论(0

整形数处理基本用法

先看如下命令:

$ var=1
$ var=$var+1
$ echo $var
1+1

可以看出,Shell中变量默认是按字符串进行处理的,但是我们想进行数字运算该怎么实现?

方法一:使用let命令

let "表达式即可" //无空格""可以省略

$ var=1
$ let var++
$ echo $var
2
$ let "var++"
$ echo $var
3

方法二:使用declare -i定义整型变量

declare -i [变量名] 直接定义为整形变量,该变量只能作为 整数 进行存储,如果将字符进行存储,该变量值将变为 0

$ declare -i k
$ k=k+1
$ echo $k
1
$ k=k+1
$ echo $k
2
$ k=qwer
$ echo $k
0

方法三:使用(( ))处理表达式

$ k=0
$ echo $((++k))
1

expr处理整数运算

格式:

expr ARG1 [OP] ARG2

操作符(OP)有: |、&、<、<=、=、>=、>、!=、+、-、*、/、% ,要注意的是:

1.元字符(*)不可以直接使用,需要用 进行转义;

2.ARG1、OP、ARG2三者之间必须有 空格 ;

3. = 为比较运算符,并不是赋值。

Demo:

$ expr 99 = 99
1
$ expr 8 * 8
expr: syntax error: unexpected argument “公共”
#我觉得这里*将作为通配符进行匹配到第一个目录
$ expr 8 \* 8
64
$ expr 8 = 8
1

bc运算器

bc是bash中最常用的浮点数运算工具,其特点如下:

  • 整型数、浮点数
  • 简单变量和数组变量
  • c语言风格注释(/ ... /)
  • 表达式
  • 复杂程序结构(如if-then)
  • 函数

直接使用bc:

$ bc -q #-q不输出版本信息
1/2
0
scale=10
1/2
.5000000000
7/3
2.3333333333
quit
$

不设置scale结果将自动取整

通过管道使用bc:

$ echo "scale=8;99*99" | bc
9801
$ num=7
$ var=`echo "$num^5" | bc`
$ echo $var
16807
分享给小伙伴们:
本文标签: Shell

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号