千家信息网

shell编程数值运算有哪些

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"shell编程数值运算有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"shell编程数值运算有哪些"吧!Shell 编程中的基本数值
千家信息网最后更新 2025年01月24日shell编程数值运算有哪些

本篇内容主要讲解"shell编程数值运算有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"shell编程数值运算有哪些"吧!

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

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

  • 产生指定范围的随机数

  • 产生指定范围的数列

Shell 本身可以做整数运算,复杂一些的运算要通过外部命令实现,比如 exprbcawk 等。另外,可通过 RANDOM 环境变量产生一个从 0 到 32767 的随机数,一些外部工具,比如 awk 可以通过 rand() 函数产生随机数。而 seq 命令可以用来产生一个数列。下面对它们分别进行介绍。

整数运算

范例:对某个数加 1

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

$ i=0;$ ((i++))$ echo $i1$ let i++$ echo $i2$ expr $i + 13$ echo $i2$ echo $i 1 | awk '{printf $1+$2}'3

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

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

$ type typetype is a shell builtin$ type letlet is a shell builtin$ type exprexpr is hashed (/usr/bin/expr)$ type bcbc is hashed (/usr/bin/bc)$ type awkawk is /usr/bin/awk

从上述演示可看出: let 是 Shell 内置命令,其他几个是外部命令,都在 /usr/bin 目录下。而 exprbc 因为刚用过,已经加载在内存的 hash 表中。

说明:如果要查看不同命令的帮助,对于 lettype 等 Shell 内置命令,可以通过 Shell 的一个内置命令 help 来查看相关帮助,而一些外部命令可以通过 Shell 的一个外部命令 man 来查看帮助,用法诸如内置命令:help let,外部命令 :man expr 等。

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

#!/bin/bash# calc.shi=0;while [ $i -lt 10000 ]do    ((i++))doneecho $i

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

到此,相信大家对"shell编程数值运算有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0