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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 征途服务器架设_征途sf架设服务器的基本条件

    征途服务器架设_征途sf架设服务器的基本条件2、设置系统自动启动防火墙vi/etc/rc.d/rc.local增加一行/etc/rc.d/forward保存后退出3、设置文件打开数1)修改/etc/security/limits.conf增加2行:*   soft  nofile 4096*   hard  nofile 655352)修改/etc/pam.d/login增加1行sessionrequired pam_limit…

    2022年10月6日
    3
  • java之接口[通俗易懂]

    java之接口[通俗易懂]java之接口1、接口的概念2、接口的属性3、接口与抽象类4、静态和私有方法5、默认方法6、解决默认方法冲突7、接口与回调1、接口的概念在java中,接口不是类,而是对符合这个接口的类的一组需求接口用interface声明声明一个Comparable接口可以将接口看成一个没有实例字段的抽象类publicinterfaceComparable{ 声明一个方法,方法的实现由实现这个接口的类来实现方法 接口绝不会有示例字段,在java8以前,在接口中绝对不会实现 方法。 priv

    2022年7月7日
    25
  • Idea2025.1.1.1激活码教程永久有效,激活码2025.1.1.1版本绝对有效

    Idea2025.1.1.1激活码教程永久有效,激活码2025.1.1.1版本绝对有效Idea 激活码教程永久有效 2025 1 1 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2025 1 1 1 成功激活

    2025年5月21日
    9
  • 集合和数组相互转换[通俗易懂]

    集合和数组相互转换[通俗易懂]集合转数组【强制】使用集合转数组的方法,必须使用集合的toArray(T[]array),传入的是类型完全一样的数组,大小就是list.size()。说明:使用toArray带参方法,入参分配的数组空间不够大时,toArray方法内部将重新分配内存空间,并返回新数组地址;如果数组元素个数大于实际所需,下标为[list.size()]的数组元素将被置为…

    2022年6月29日
    29
  • C++学习——memset函数详解

    C++学习——memset函数详解memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。头文件 <string.h>或 < cstringh >函数介绍void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的n个字节 (typedef unsigned int si…

    2022年8月18日
    9
  • Okio基本使用以及源码分析

    Okio基本使用以及源码分析Okio是什么在OkHttp的源码中经常能看到Okio的身影,所以单独拿出来学习一下,作为OkHttp的低层IO库,Okio确实比传统的java输入输出流读写更加方便高效。Okio补充了java.io和java.nio的不足,使访问、存储和处理数据更加容易,它起初只是作为OKHttp的一个组件,现在你可以独立的使用它来解决一些IO问题。先看下okio库中类之间的关系:okio中最关键的是对于缓存队列的管理,这些优化操作使得okio在复制数据的时候可以减少拷贝次数,来看下okio中数据保存的数据结构是

    2022年5月27日
    42

发表回复

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

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