linux shell脚本使用结构化命令(2)

一.for命令

二.while命令

三.until命令

 

1.for命令基本格式

1 for var in list
2 do
3     commands
4 done
 1 oracle@suse:~/testshell> cat fortest.sh 
 2 #!/bin/bash
 3 #test for command
 4 
 5 for city in beijing shanghai shenzhen dalian
 6 do
 7     echo the  city is $city
 8 done    
 9 oracle@suse:~/testshell> ./fortest.sh 
10 the city is beijing
11 the city is shanghai
12 the city is shenzhen
13 the city is dalian

一种c语言风格的for命令

1 for (( variable assignment ; condition ; iterationprocess ))
2 do
3      commands
4 done
 1 oracle@suse:~/testshell> cat fortest.sh 
 2 #!/bin/bash
 3 #test for command
 4 
 5 sum=0
 6 for (( i=1;i<=100;i++ ))
 7 do
 8     (( sum = sum + i ))
 9 
10 done
11 echo sum= $sum
12 
13 for (( a=1,b=1;a<5,b<3;a++,b++ ))
14 do
15     (( c = a + b ))
16     echo c = $c
17 done
18 oracle@suse:~/testshell> ./fortest.sh 
19 sum= 5050
20 c = 2
21 c = 4

2.while命令基本格式

1 while test command
2 do
3     other commands
4 done
 1 oracle@suse:~/testshell> cat whiletest.sh 
 2 #!/bin/bash
 3 #test while command
 4 
 5 var=3
 6 
 7 while [ $var -gt 0 ]
 8 do
 9     (( var = var -1 ))
10     echo var = $var
11 done
12 oracle@suse:~/testshell> ./whiletest.sh 
13 var = 2
14 var = 1
15 var = 0

3.until命令基本格式

1 until test commands
2 do
3     other commands
4 done
 1 oracle@suse:~/testshell> cat untiltest.sh 
 2 #!/bin/bash
 3 #test until command
 4 
 5 var=5
 6 
 7 until [ $var -gt 8 ]
 8 do
 9     (( var++ ))
10     echo var = $var
11 done
12 oracle@suse:~/testshell> ./untiltest.sh 
13 var = 6
14 var = 7
15 var = 8
16 var = 9

还有一点就是循环输出可以输出到屏幕,也可以输出到文件,就是在done命令后加个处理命令

 1 oracle@suse:~/testshell> cat untiltest.sh 
 2 #!/bin/bash
 3 #test until command
 4 
 5 var=5
 6 
 7 until [ $var -gt 8 ]
 8 do
 9     (( var++ ))
10     echo var = $var
11 done > result.txt
12 oracle@suse:~/testshell> ./untiltest.sh 
13 oracle@suse:~/testshell> ls
14 untiltest.sh     result.txt 
15 oracle@suse:~/testshell> cat result.txt 
16 var = 6
17 var = 7
18 var = 8
19 var = 9

 

转载于:https://www.cnblogs.com/sunshine-/p/4505581.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值