Shell脚本【9】Shell for循环

for循环

for语句语法:

				for 变量名 in 参数列表
				do
						命令列表
				done

语义:将参数列表 中的元素依次赋值给变量名 ,在每次赋值后执行 命令列表 ,参数列表 表示 变量名 取值范围。

其中参数列表的形式有多种:
<1>直接给出具体的值
可以在 in 关键字后面直接给出具体的值,多个值之间以空格分隔,比如1 2 3 4 5、“abc” “390” "tom"等。

for var in 1 2 hello

<2> 给出一个取值范围
给出一个取值范围的具体格式为:{start…end}

#!/bin/bash
sum=0
for n in {1..100}
do
    ((sum+=n))
done
echo $sum

<3> 使用命令的执行结果
使用反引号``或者$()都可以取得命令的执行结果

#!/bin/bash
##计算从 1 到 100 之间所有偶数的和##
sum=0
for n in $(seq 2 2 100)		#seq 2 2 100表示从 2 开始,每次增加 2,到 100 结束。
do
    ((sum+=n))
done
echo $sum

break语句

语法:

break[n]

语义:在循环体中使用 break 语句,表示从循环体中跳出, n 表示是跳出几层循环,默认是1。

continue语句语法:

continue[n]

语义:表示跳过循环体中之后的语句,回到循环开头,进行下一次循环。

exit语句语法

exit[n]

语义:退出运行脚本,n 为运行脚本的返回值。

例题解答

1、求出若干数中的最小值
[root@system1 ~]# vim test08.sh

#!/bin/bash
##求出若干数中的最小值##

smallest=10000
for i in 12 5 -3 58 80
do
if test $i -lt $smallest
then
        smallest=$i
fi
done
echo "The smallest number is:$smallest"
[root@system1 ~]# chmod a+x ./test07.sh
[root@system1 ~]# 
[root@system1 ~]# 
[root@system1 ~]# ./test07.sh
The smallest number is:-3

2、在当前目录下逐个显示.sh 结尾的shell脚本的内容

#!/bin/bash
##逐个显示当前目前下以.sh结尾的shell脚本内容##

for file in `ls *.sh`
do
        echo "Filename:$file"
        echo "___________"
done

运行结果:

[root@system1 ~]# ./test08.sh
Filename:1printf.sh
___________
Filename:foo.sh
___________
Filename:test01.sh
___________
Filename:test02.sh
___________
Filename:test03.sh
___________
Filename:test04.sh

3、显示所有命令行参数

#!/bin/bash
##显示命令行参数##

for arg
do
        echo $arg
done

运行结果:

[root@system1 ~]# chmod a+x ./test10.sh
[root@system1 ~]# ./test10.sh 1 2 3 4
1
2
3
4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值