shell中的while循环实例[通俗易懂]

shell中的while循环实例[通俗易懂]1.利用while循环计算1到100的和:示例代码1:#!/bin/bashi=1sum=0while[$i-le100]do letsum=sum+$i leti++doneecho$sum示例代码2:利用while循环计算1到100之间所有奇数之和#!/bin/bashi=1sum=0while[$i-le100]do letsum=sum+$i leti…

大家好,又见面了,我是你们的朋友全栈君。

1.利用while循环计算1到100的和:

示例代码1:

#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
  let sum=sum+$i
  let i++
done

echo $sum

shell中的while循环实例[通俗易懂]

示例代码2:利用while循环计算1到100之间所有奇数之和

#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
  let sum=sum+$i
  let i+=2
done

echo $sum

shell中的while循环实例[通俗易懂]

示例代码3:利用while循环计算1到100之间所有偶数之和

#!/bin/bash
i=2
sum=0
while [ $i -le 100 ]
do
  let sum=sum+$i
  let i+=2
done

echo $sum

shell中的while循环实例[通俗易懂]

2.利用while循环打印**

示例代码:利用while循环打印一个5×5的*

#!/bin/bash
i=1
j=1
while [  $i  -le  5  ]
do
  while [  $j  -le  5  ]
  do
     echo -n  “*  “
     let j++
  done
  echo
  let  i++
  let  j=1

done

shell中的while循环实例[通俗易懂]

3.使用read结合while循环读取文本文件:

示例代码1:

#!/bin/bash
file=$1                  #将位置参数1的文件名复制给file
if [ $# -lt 1 ];then      #判断用户是否输入了位置参数
  echo “Usage:$0 filepath”
  exit
fi
while read -r line   #从file文件中读取文件内容赋值给line(使用参数r会屏蔽文本中的特殊符号,只做输出不做转译)
do

  echo $line        #输出文件内容

done   <  $file

shell中的while循环实例[通俗易懂]

shell中的while循环实例[通俗易懂]

示例2:按列读取文件内容

#!/bin/bash
file=$1
if [[ $# -lt 1 ]]
then
  echo “Usage: $0 please enter you filepath”
  exit
fi
while read -r  f1 f2 f3    #将文件内容分为三列
do
  echo “file 1:$f1 ===> file 2:$f2 ===> file 3:$f3”   #按列输出文件内容

done < “$file”

shell中的while循环实例[通俗易懂]

shell中的while循环实例[通俗易懂]

4.while循环中的死循环:

示例:利用死循环,让用户做选择,根据客户的选择打印相应结果

#!/bin/bash
#打印菜单
while :
do
  echo “********************”
  echo ”        menu        “
  echo “1.tima and date”
  echo “2.system info”
  echo “3.uesrs are doing”
  echo “4.exit”
  echo “********************”
  read -p “enter you choice [1-4]:” choice
#根据客户的选择做相应的操作
  case $choice in
   1)
    echo “today is `date +%Y-%m-%d`”
    echo “time is `date +%H:%M:%S`”
    read -p “press [enter] key to continue…” Key    #暂停循环,提示客户按enter键继续
    ;;
   2)
    uname -r
    read -p “press [enter] key to continue…” Key
    ;;
   3)
    w
    read -p “press [enter] key to continue…” Key
    ;;
   4)
    echo “Bye!”
    exit 0
    ;;
   *)
    echo “error”
    read -p “press [enter] key to continue…” Key
    ;;
  esac

done

shell中的while循环实例[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163972.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • fork join框架_笔记框架图怎么做

    fork join框架_笔记框架图怎么做什么是Fork/Join框架Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干 个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解一下Fork/Join框架。Fork就是把一个大任务切分 为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结 果。比如计算1+2+…+10000,可以分割成10个子任务,每个子任务分别对1000个数进行求和, 最终汇总这10个子任务的结果。Fork/

    2022年8月8日
    5
  • 红旗 Linux 官方社区_红旗车机系统3.0

    红旗 Linux 官方社区_红旗车机系统3.0红旗inWise操作系统V8.0英文名是RedFlaginWiseV8.0,曾经让很多国内Linux用户所应用的国产操作系统,该版本是对系统软件包组件的升级和稳定性易用性的整体提升。对于老电脑的来说,安装该版本是一个可取的决定,现在提供红旗inWise操作系统V8.0的下载。RedFlaginWiseV8.0主要新特性1、最新的稳定内核3.6.11和各种驱动程序包,使系统具备更好的硬件…

    2022年8月20日
    16
  • USART和UART的区别 UART和RS232/RS485的关系是什么?

    USART和UART的区别 UART和RS232/RS485的关系是什么?订阅专栏UART:universalasynchronousreceiverandtransmitter通用异步收发器[BusSignal]TX,RXUSART:universalsynchronousasynchronousreceiverandtransmitter通用同步异步收发器[BusSignal]TX,RX,CKUSART支持同步模式,因此USART需要同步始终信号USART_CK(如STM32单片机),

    2022年5月19日
    43
  • C++学生选课系统 【含 代码】

    C++学生选课系统 【含 代码】1.系统分析本系统的用户分为普通用户和管理员两类,其中普通用户包括教师和学生。普通用户只能对自己的信息进行查询与修改,管理员则拥有所有功能权限。1.1模块划分学生选课系统,在登录模块之后,根据系统用户的身份不同划分为三个模块,即:学生模块、教师模块和管理员模块。1.2功能模块描述(1)登录模块登录模块用于用户身份选择与用户登录,完成基本的验证。根据所填信息进行…

    2022年10月15日
    3
  • oracle隐式转换和显式转换_oracle显示游标和隐式

    oracle隐式转换和显式转换_oracle显示游标和隐式和其他的关系型数据库一样,oracle中也能进行一些隐式的数据转换,这对我们写SQL语句有非常用,我们可以不必麻烦地手动转化很多类型的字符。虽然前面我们介绍了一些使用例如to_char,to_date的函数进行强制转换的方法,但是隐式转换也还是不错的。Orac和其他的关系型数据库一样,oracle中也能进行一些隐式的数据转换,这对我们写SQL语句有非常用,我们可以不必麻烦地手动转化很…

    2022年10月11日
    4
  • 如何利用js生成二维码_前端生成二维码

    如何利用js生成二维码_前端生成二维码问题来源最近在做一个项目,有这么个需求,通过生成二维码来实现网页的分享。问题分析脑海的第一反应,当然是用js来实现,自己手写?当然不是。解决方案使用QRCode.js。QRCode.js是一个用于生成二维码的JavaScript库。主要是通过获取DOM的标签,再通过HTML5Canvas绘制而成,不依赖任何库。QRCode.js:使用JavaScript生成二维码代码编写<!DOCTYPEhtml><htmllang=”en.

    2022年10月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号