Shell中的while循环几种使用实例详解
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
示例代码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
示例代码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
2.利用while循环打印**
示例代码:利用while循环打印一个5x5的*
#!/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
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
示例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"
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
相关推荐
laisean 2020-11-11
Julyth 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
tianhuak 2020-11-24
huha 2020-10-16
lianshaohua 2020-09-23
zhangjie 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
CARBON 2020-10-20
彼岸随笔 2020-10-20
lianshaohua 2020-10-20
yutou0 2020-10-17
JohnYork 2020-10-16