Shell循环语句多种用法

for循环语句

列表形式有:

实例1 在命令中定义一系列的值
第一种写法:
[root@localhost ~]# vim 1.sh
#!/bin/bash
for i in 1 2 3 4                             //在命令中定义列表
do
echo $i
done
[root@localhost ~]# sh 1.sh
1
2
3
4
第二种写法:
[root@localhost ~]# vim 2.sh
#!/bin/bash
for i in {1..5}
do
echo $i
done
[root@localhost ~]# sh 2.sh
1
2
3
4
5

使用{初始值..结束值}来表示一个区间的数值

实例2 以变量为列表
[root@localhost ~]# vim 3.sh
#!/bin/bash
list="1 2 3 4"
for i in $list
do
echo $i
done
[root@localhost ~]# sh 3.sh
1
2
3
4
实例3 用命令生成列表
[root@localhost ~]# vim 4.sh
#!/bin/bash
for i in `seq 1 1 5`
do
echo $i
done
[root@localhost ~]# sh 4.sh
1
2
3
4
5

使用seq命令生成列表,seq命令的格式为:seq 初始值 递增值 终止值

实例4 将目录作为列表
[root@localhost ~]# vim 5.sh 
#!/bin/bash
for i in /root/*
do
if
[ -d "$i" ]
then
echo "$i is a directory"
elif
[ -f "$i" ]
then
echo "$i is a file"
fi
done
[root@localhost ~]# sh 5.sh 
/root/5.sh is a file
/root/a is a directory
/root/anaconda-ks.cfg is a file
/root/a.sh is a file
/root/initial-setup-ks.cfg is a file

利用for循环语句计算出“1+……+100”的值

[root@localhost ~]# vim 6.sh
#!/bin/bash
sum=0
for ((i=1;i<=100;i++ ))
do
let sum+=$i
done
echo "1+..+100="$sum
[root@localhost ~]# sh 6.sh
1+..+100=5050

利用while循环语句计算出“1+……+100”的值

[root@localhost ~]# vim 7.sh
#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
let sum+=$i
let i++
done
echo "1+..+100="$sum
[root@localhost ~]# sh 7.sh
1+..+100=5050
退出正在进行循环的命令:
[root@localhost ~]# vim 8.sh 
#!/bin/bash
for i in 1 2 3 4 5
do
if
[ $i -eq 3 ]
then
break
fi
echo $i
done
[root@localhost ~]# sh 8.sh
1
2
Linux脚本中的break continue exit 都有结束循环的作用,但是它们的区别
* **break:**结束并退出循环

* **continue:**在循环中不执行continue下面的代码,转而进入下一轮循环

* **exit:**退出脚本,常带一个整数给系统,如 exit 0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值