shell编程是Linux学习中的难点,不少人学了几个月也是不明就里,那么今天我带着你们看一看,shell编程里面的数值运算shell
Shell 编程中的基本数值运算,这类运算包括:编程
数值(包括整数和浮点数)间的加、减、乘、除、求幂、求模等bash
产生指定范围的随机数ide
产生指定范围的数列函数
Shell 自己能够作整数运算,复杂一些的运算要经过外部命令实现,好比 expr,bc,awk 等。另外,可经过 RANDOM 环境变量产生一个从 0 到 32767 的随机数,一些外部工具,好比 awk 能够经过 rand() 函数产生随机数。而 seq 命令能够用来产生一个数列。下面对它们分别进行介绍。工具
本次试验是在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 等。
#!/bin/bash # calc.sh i=0; while [ $i -lt 10000 ] do ((i++)) done echo $i
说明:这里经过 while [ 条件表达式 ]; do .... done 循环来实现。-lt 是小于号 <
这篇文章若是你能看懂,说明你已经有基础了,若是看不懂,请留言,让咱们知道你须要补一下哪一个方面的基础
生活不止眼前的 Bug,还有诗和远方的茶园!—— 值四三十而立,致全部陪伴的亲友以及全部曾经或者如今还在一线的码农朋友们!