Shell 数值运算.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell 数值运算.pdf

Shell 数值运算 前言 从本⽂开始,打算结合平时积累和进⼀步实践,通过⼀些范例来介绍Shell编程。 为 范例往往能够给⼈以学有所⽤的感觉,⽽且给⼈以动⼿实践的机会,从⽽激发⼈的学 习热情。 考虑到易读性,这些范例将⾮常简单,但是实⽤,希望它们能够成为我们解决⽇常问 题的参照物或者是“茶余饭后”的⼩点⼼,当然这些“点⼼”肯定还有值得探讨、优化的 地⽅。 更复杂有趣的例⼦请参考 Advanced Bash-Scripting Guide (⼀本深⼊学习 Shell 脚本艺 术的书籍) 。 该系列概要: ⽬的:享受⽤ Shell 解决问题的乐趣;和朋友们⼀起交流和探讨。 计划:先零散地写些东西,之后再不断补充,最后整理成册。 读者:熟悉 Linux 基本知识,如⽂件系统结构、常⽤命令⾏⼯具、Shell 编程基 础等。 建议:看范例时,可参考 《Shell基础⼗⼆篇》和 《Shell⼗三问》。 环境:如没特别说明,该系列使⽤的 Shell 将特指 Bash ,版本在 3.1.17 以上。 说明:该系列不是依据 Shell 语法组织,⽽是⾯向某些潜在的操作对象和操作 本⾝,它们反应了现实应⽤。当然,在这个过程中肯定会涉及到 Shell 的语 法。 这⼀篇打算讨论⼀下 Shell 编程中的基本数值运算,这类运算包括: 数值 (包括整数和浮点数)间的加、减、乘、除、求幂、求模等 产⽣指定范围的随机数 产⽣指定范围的数列 Shell 本⾝可以做整数运算,复杂⼀些的运算要通过外部命令实现,⽐如 expr,bc,awk 等。另外,可通过 RANDOM 环境变量产⽣⼀个从 到 32767 的随机 数,⼀些外部⼯具,⽐如 awk 可以通过 rand() 函数产⽣随机数。⽽ seq 命令可以 ⽤来产⽣⼀个数列。下⾯对它们分别进⾏介绍。 整数运算 范例:对某个数加 1 $ i=0; $ ((i++)) $ echo $i 1 $ et 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 个数。 ⽤ Shell 的内置命令查看各个命令的类型如下: $ type type type is a she bui tin $ type et et is a she bui tin $ type expr expr is hashed (/usr/bin/expr) $ type bc bc is hashed (/usr/bin/bc) $ type awk awk is /usr/bin/awk 从上述演⽰可看出: et 是 Shell 内置命令,其他⼏个是外部命令,都在 /usr/bin ⽬录下。⽽ expr 和 bc 为刚⽤过,已经加载在内存的 hash 表中。这将有利于我 们理解在上⼀章介绍的脚本多种执⾏⽅法背后的原理。 说明:如果要查看不同命令的帮助,对于 et 和 type 等 Shell 内置命令,可以通过 Shell 的⼀个内置命令 he p 来查看相关帮助,⽽⼀些外部命令可以通过 Shell 的⼀个 外部命令 man 来查看帮助,⽤法诸如 he p et,man expr 等。 范例:从 1 加到某个数 # !/bin/bash # ca c.sh i=0; whi e [ $i - t 10000 ] do ((i++)) done echo $i 说明:这⾥通过 whi e [ 条件表达式 ]; do done 循环来实现。- t 是⼩ 于号 ,具体见 test 命令的⽤法:man test。 如何执⾏该脚本? 办法⼀:直接把脚本⽂件当成⼦ Shell (Bash )的

文档评论(0)

牛X文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档