shell中的for循环

2638阅读 0评论2011-09-18 yoonix
分类:

for的语法结构如下:
一、

for 变量 in 串行
do
    命令区域
done
二、

for(( ; ;))
do
    命令区域
done

实际使用中的例子
第一种情况,可以直接写入字符串
panda@panda-pc:~/Code/Shell$ cat for_test.sh
#! /bin/bash

#简单的for循环

 for i in 1 2 3 4 5
 do
 echo $i
 done

第二种情况,可以写变量名
panda@panda-pc:~/Code/Shell$ cat for_test1.sh
#! /bin/bash

IFS=':'

PL="root:x:0:0:root:/root:/bin/bash"

for f in $PL
do
    echo $f
done

第三种情况,可以写命令
panda@panda-pc:~/Code/Shell$ cat for_test4.sh
#! /bin/bash

DIR="/etc"
i=0
for f in $(ls $DIR)
do
    i=i+1
    echo -n "文件i:$f".'\t'
done

注:但是对于awk中的语法,有些不同
panda@panda-pc:~/Code/Shell/Interview_questions$ awk '{a[$1]=a[$1]" "$2}END{for(i in a)print $i,a[i]}' data
李四  90  78 90
李四  90  88 99
李四  90  77 90
李四  90  88 80
panda@panda-pc:~/Code/Shell/Interview_questions$ awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' data
陈涛  78 90
王五  88 99
李四  77 90
张三  88 80

两者的差别就是一个输出的时候加$了,一个没有加$。


上一篇:什么什么啊
下一篇:缘木求鱼