shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)
##为什么要学好shell
 shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容。
 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容。
 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础。
#
 本文的宗旨是熟悉shell编程中的for语句、while语句及until等语句的使用语法和应用方法。
##shell实现
###1、for循环
 #!/bin/sh
 sum=0                          <==定义一个变量sum
 for n in{1..100};do    <==变量名n从1到100中取值
  let sum=$sum+$n         <==let运算
 done
 echo $sum                    <==循环结束
#
 n的取值范围可以用其他方法代替。如:seq 100(命令要加反引号“)
 算法也可以用很多方法:(())、expr。
#
 #!/bin/sh
 j=0
 for ((i=0;i<=100;i++));do   <==第一个是变量初始化,第二个是变量的范围,第三个是变量自增或自减
  ((j=j+i))
 done
 echo $j 
#
###2、while循环
 i=1
 while((i <=100));do          <==当i不符合条件的时候退出循环。
 ((j=j+i))
 ((i++))
 done
 echo $j

#
###3、until循环
 i=1
 until((i >100));do    <==当i符合条件的时候退出循环。与while相反。
 ((j=j+i))
 ((i++))
 done
 echo $j
#
##非shell脚本实现
 之前我们学过一些命令也可以实现1+2+..+100的求和,这里带大家回顾一下
#
 1、echo {1..100}|tr ” ” “+”|bc
 说明:tr 替换 这里实现的是把空格替换成+,然后通过管道传给下一个
  bc:linux中的计算器,支持整数计算
#
 2、seq -s + 1 1 100|bc
 说明 :seq -s 指定分隔符
 1 1 100  
 第一个1是初始值,第二个是步长值,第三个是结束值 

 博主刚开始学shell编程,水平有限。必然还有其他算法,希望各位高手多赐教。学习shell编程重在思路、思维、方法。除了这些还要自己努力、坚持。
 

原创文章,作者:eleven,如若转载,请注明出处:http://www.178linux.com/85506

(1)
eleveneleven
上一篇 2017-08-26
下一篇 2017-08-28

相关推荐

  • 老王的心路历程(二):下一站Web体验监控产品

    在上一篇文章中,和大家聊到了建立Web应用体验监控体系,经过了概念阶段,也完成了技术选型,就进入了把实质性的产品研发阶段。作为产品经理,时刻不敢忘记我们的产品目标:无限感知你的用户,建立完备的体验监控体系,驱动产品的设计、开发和运维! 一、一切皆操作 仔细分析终端用户和Web应用及网站的交互过程,无论是打开页面、点击链接或按钮,还是填写表单、提交查询,一切皆…

    2016-08-15
  • DNS域名解析系统搭建(BIND)

        【本文导航】    零、准备工作    一、根域服务器配置    二、com顶级域配置    三、linux.com域主服务器配置(DNS1)    四…

    Linux干货 2016-12-21
  • 作业——2016-10-17

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。     将系统时间同步到硬件时间的命令是hwclock -s 2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。     screen -S work  进去后开始做工作,暂时离开时…

    Linux干货 2016-10-18
  • 高级文件系统的管理

    接上一篇文章http://www.178linux.com/40874 移动介质     挂载意味着 使外来的文件系统看起来如同是主目录树 的 一部分     访问前、介质必须被挂载     摘除时,介质必须被卸载   …

    Linux干货 2016-09-08
  • tcpdump诊断nginx问题

    自从上级公司离职后,快一年的时间没有写php程序和搭建LNMP环境,一直在做db运维和运维工具开发方面的事情。 最近决定开发开发一些自动话方面工具,重新拾起php,于是在测试机上搭建一个LNMP环境。 1、 nginx 404错误 一般的出现404错误,找不到页面资源。首先用strace排除了存在文件访问权限的问题,其次nginx的root参数设置也没有任何…

    Linux干货 2016-05-03
  • shell编程——让你又爱又恨的东西

    变量类型:      不同的数据类型在系统中所占资源不同,并且表示的范围也不同      数值型:          短整型short:      &…

    Linux干货 2016-08-12