Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2793150
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: LINUX

2013-02-22 19:02:42


1.for结构

for name [in list]

do

  statements using $name

done

1.list应该是一系列由空格分隔的字符序列(单词),省略in list 时默认为

 

$@(命令行的参数列表)

2.for循环执行的次数取决于列表list中单词的个数

3.for循环体中一般要出现变量$name,但也可以不出现。

语法结构:

 1.for … in 语句

for 变量 in seq字符串

do

action

done

说明:seq字符串 只要用空格字符分割,每次for…in 读取时候,就会按顺序将读到值,给前面的变量。

实例(testfor.sh):

#!/bin/sh

for i in $(seq 10); do
    echo $i;
done; 

seq 10 产生 1 2 3 。。。。10空格分隔字符串。

2.for((赋值;条件;运算语句))

for((赋值;条件;运算语句))

do

action

done;

实例(testfor2.sh):

#!/bin/sh

for((i=1;i<=10;i++));do
    echo $i;
done; 


#! /bin/sh

for FRUIT in apple banana pear; do
  echo "I like $FRUIT"
done


,要将当前目录下的chap0、chap1、chap2等文件名改为chap0~、chap1~、chap2~等(按惯例,末尾有~字符的文件名表示临时文件),这个命令可以这样写:

 for FILENAME in `ls chap?`; do 
mv $FILENAME $FILENAME~;
 done

2.循环结构:while循环

while [ condition ]

do

   statments

done

 

条件不成立退出循环

while语句结构

while 条件语句

do

action

done;

实例1:

#!/bin/sh
i=10;
while [[ $i -gt 5 ]];do
    echo $i;
    ((i--));
done;

运行结果:========================

sh testwhile1.sh
10
9
8
7
6

实例2:(循环读取文件内容:)

#!/bin/sh

while read line;do
    echo $line;
done < /etc/hosts;

 

运行结果:===================

sh testwhile2.sh


# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 centos5 localhost.localdomain localhost

3.循环结构:until

until [ condition ]

do

  statments

done

 

condition 条件成立退出循环

  • until循环语句

语法结构:

until 条件

do

action

done

意思是:直到满足条件,就退出。否则执行action.

实例(testuntil.sh):

#!/bin/sh

a=10;

until [[ $a -lt 0 ]];do

echo $a;

((a—));

done;

结果:

sh testuntil.sh

10
9
8
7
6
5
4
3
2
1
0


阅读(826) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~