shell编程之数值计算 seq命令

变量的数值计算常见的有如下几个命令:

(())    let(bash内部命令)   expr  bc  $[ ]

1) (())最常用,效率最高

一般用于整数运算 ,shell的算术运算符号都置于"$(("和"))"之中。

常用的逻辑符号:++,--,*,/,%,<,<=,>=,==,!=,&&,||,**。

变量表达式定义:((a=1+2**3-4%3))或者 b=$((1-2))

a++是先输出a本身的值,++a是运算后再输出运算结果的值

记忆方法:变量在前,先输出变量值。变量在后,先运算后输出变量的值。

#!/bin/bash
a=$1 b=$2
echo "a-b=$(($a - $b))"
echo "a+b=$(($a + $b))"

[root@desk ~]# sh 1.sh 12 12
a-b=0
a+b=24http://write.blog.csdn.net/postedit?ref=toolbar

简单的整数加减乘除计算器:

#!/bin/bash
echo $(($1$2$3))

或者:

http://write.blog.csdn.net/postedit?ref=toolbar#!/bin/bash
echo $(($1))

let命令:

[root@desk ~]# i=2
[root@desk ~]# i=i+8
[root@desk ~]# echo $i
i+8
                                   输出的结果相当于把i+8赋值给i
[root@desk ~]# i=2
[root@desk ~]# let i=i+8
[root@desk ~]# echo $i
10

小结: let i=i+8 等同于((i=i+8)),并且效果不如双小括号好!

unset i ##取消掉对i的定义!

expr命令

expr命令用于整数,并且之间要有空格

[root@desk ~]# expr $[2+2]
4
[root@desk ~]# expr 2 / 2
1
[root@desk ~]# expr 2/2
2/2
[root@desk ~]# expr length "sadawds"
7

等等一些列的功能!

比较各种变量长度方法的对比:

wc  -l                   ##

      -m                 ##

      -L                 ##字节长度

      -c                 ##字节数

      -w                ##单词数


expr  length "字符串"


${#str}   

seq命令

seq命令用于产生某个数到另外一个数之间的所有整数。

格式:

1.seq  -s  "字符串"  1  10    ##1到10进行排列,中间的分隔符为“字符串”

[root@desk ~]# seq -s " " 3 9
3 4 5 6 7 8 9
[root@server1 test]# seq -s " " 3 -1 0
3 2 1 0                  ## 从3开始,-1为增量,打印到0


2.seq  -f                            ##指定格式

[root@desk ~]#seq -f"%3g" 9 11
  9
 10
 11
[root@desk ~]# seq -f "%30g" 9 11
                             9
                            10
                            11
所以,%后面跟位置的位数。  

[root@desk ~]# seq -f "str%010g"  9 11
str0000000009
str0000000010
str0000000011
这样子,前面空格的部分由0填充

3.seq -w               ##-w选项:指定输出数字同宽

seq -w 98 101
098
099
100
101
不能和-f同用,输出是同宽的


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值