For while 循环语句实战

for 循环语句实战:

  • for循环语句主要用于对某个数据域进行循环读取、对文件进行遍历,通常用于需要循环某个文件或者列表。其语法格式以for…do开头,done结尾。语法格式如下:
for 变量名  in  (表达式)
do
   执行语句
done

for循环语句shell脚本案例如下:

(1)打印www.baidu.com www.jd.com www.taobao.com

#!/bin/bash
#2020年7月22日16:58:03
#for test
#########################
for i in www.baidu.com www.jd.com www.taobao.com
do
        echo $i
done
[root@localhost ~]# sh for1.sh 
www.baidu.com
www.jd.com
www.taobao.com

(2)循环打印1至100数字,seq表示列出数据范围

#!/bin/bash
#2020年7月22日17:14:06
#########################
for i in `seq 1 100`
do
        echo "NUM is $i"
done
[root@localhost ~]# sh for2.sh 
NUM is 1
NUM is 2
....
NUM is 99
NUM is 100

(3)for循环求1-100的总和:

#!/bin/bash
#2020年7月22日17:20:45
#auto sum 1 100
#by author xiao yu er
####################################
n=0
for NUM in `seq 1 100`
do
        n="$[n+NUM]"
done
echo $n
或者:----------------------

n=0
for ((i=1;i<=100;i++))
do
        n=`expr $i + $n`
done
echo $n
或者:------------------
n=0
for i in {1..100}
do
        n=`expr  $i + $n`
done
echo $n
#验证:
[root@localhost ~]# sh for3.sh 
5050

While循环语句实战

  • While循环语句与for循环功能类似,主要用于对某个数据域进行循环读取、对文件进行遍历,通常用于需要循环某个文件或者列表,满足循环条件会一直循环,不满足则退出循环,其语法格式以while…do开头,done结尾。语法格式如下:
while   (表达式)
do
	执行语句1
done

While循环语句Shell脚本编程案例如下:

(1) 循环打印BAT企业官网,read指令用于读取行或者读取变量

#!/bin/bsh
#2020年7月22日19:24:46
#################################
while read LINE
do
        echo $LINE
done<ys.txt
vim ys.txt
www.baidu.com
www.jd.com
www.taobao.com
 [root@localhost ~]# sh while1.sh 
www.baidu.com
www.jd.com
www.taobao.com
        

(2) While无限每秒输出Hello World:

#!/bin/bash
#2020年7月22日19:30:01
###################################3
while sleep 1
do 
	echo -e "\033[32mhello world\033[0m"
done
[root@localhost ~]# sh while2.sh
hello world
hello world
hello world
hello world

(3) 循环打印1至100数字,expr用于运算逻辑工具:

#!/bin/bash
#2020年7月22日19:33:32
#################################
i=1
while ((i<=100))
do
        echo $i
        i=`expr $i + 1`
done
[root@localhost ~]# sh while3.sh
1
2
3
...
100

(4) While循环求1-100的总和:

#!/bin/bash
###########################
i=1
j=0
while ((i<=100))
do
        j=`expr $i + $j`
        ((i++))
done
echo $j
[root@localhost ~]# sh while4.sh 
5050

循环中断及退出

exit:退出脚本
break:退出循环,继续执行循环之后的任务
continue:退出当前循环,继续下一次循环

例1
#!/bin/bash
#2020年7月23日21:44:01
################################
#打印1到10当打印5时跳过5打印6
for i in `seq 1 10`
do
        if [ $i -eq 5 ];then
                continue
        fi
        echo $i
done
echo "Hello World!!! "
或者:---------------------------
#!/bin/bash
#2020年7月23日21:48:10
###############################
i=0
while ((i<10))
do
        i=`expr $i + 1`
        if [ $i -eq 5 ];then
                continue
        fi
        echo $i
done
echo "Hello World!!! "
[root@localhost 2020-07-23]# sh for1.sh 
1
2
3
4
6
7
8
9
10
Hello World!!! 
例2:
#!/bin/bash
#2020年7月23日21:48:10
###############################
i=0
while ((i<10))
do
        i=`expr $i + 1`
        if [ $i -eq 5 ];then
                break  这里是输出的5就退出循环
        fi
        echo $i
done
echo "Hello World!!! "
[root@localhost 2020-07-23]# sh while1.sh
1
2
3
4
Hello World!!!
从这里可以看得出来输出4时退出循环然后输出hello world
例3:
#!/bin/bash
#2020年7月23日21:48:10
###############################
i=0
while ((i<10))
do
        i=`expr $i + 1`
        if [ $i -eq 5 ];then
               exit 这里是输出的5就退出脚本
        fi
        echo $i
done
echo "Hello World!!! "
[root@localhost 2020-07-23]# sh while1.sh
1
2
3
4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值