shell编程之数值运算

shell编程是Linux学习中的难点,不少人学了几个月也是不明就里,那么今天我带着你们看一看,shell编程里面的数值运算shell

 Shell 编程中的基本数值运算,这类运算包括:编程

  • 数值(包括整数和浮点数)间的加、减、乘、除、求幂、求模等bash

  • 产生指定范围的随机数ide

  • 产生指定范围的数列函数

Shell 自己能够作整数运算,复杂一些的运算要经过外部命令实现,好比 expr,bc,awk 等。另外,可经过 RANDOM 环境变量产生一个从 0 到 32767 的随机数,一些外部工具,好比 awk 能够经过 rand() 函数产生随机数。而 seq 命令能够用来产生一个数列。下面对它们分别进行介绍。工具

整数运算

范例:对某个数加 1

本次试验是在Linux虚拟机的交互模式运行
学习

$ i=0;
$ ((i++))
$ echo $i
1

$ let i++
$ echo $i
2

$ expr $i + 1
3
$ echo $i
2

$ echo $i 1 | awk '{printf $1+$2}'
3

说明: expr 以后的 $i,+,1 之间有空格分开。若是进行乘法运算,须要对运算符进行转义,不然 Shell 会把乘号解释为通配符,致使语法错误; awk 后面的 $1 和 $2 分别指 $i 和 1,即从左往右的第 1 个和第 2 个数。ui

用 Shell 的内置命令查看各个命令的类型以下:内存

$ type type
type is a shell builtin
$ type let
let is a shell builtin
$ type expr
expr is hashed (/usr/bin/expr)
$ type bc
bc is hashed (/usr/bin/bc)
$ type awk
awk is /usr/bin/awk

从上述演示可看出: let 是 Shell 内置命令,其余几个是外部命令,都在 /usr/bin 目录下。而 expr 和bc 由于刚用过,已经加载在内存的 hash 表中。虚拟机

说明:若是要查看不一样命令的帮助,对于 let 和 type 等 Shell 内置命令,能够经过 Shell 的一个内置命令 help 来查看相关帮助,而一些外部命令能够经过 Shell 的一个外部命令 man 来查看帮助,用法诸如内置命令:help let,外部命令 :man expr 等。

脚本范例:从 1 加到某个数

#!/bin/bash
# calc.sh

i=0;
while [ $i -lt 10000 ]
do
    ((i++))
done
echo $i

说明:这里经过 while [ 条件表达式 ]; do .... done 循环来实现。-lt 是小于号 <

这篇文章若是你能看懂,说明你已经有基础了,若是看不懂,请留言,让咱们知道你须要补一下哪一个方面的基础

生活不止眼前的 Bug,还有诗和远方的茶园!—— 值四三十而立,致全部陪伴的亲友以及全部曾经或者如今还在一线的码农朋友们!

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

相关文章
相关标签/搜索