linux for循环原理,linux for循环

for循环是Linux shell 中最常用的结构。for 循环有三种结构:一种结构是列表for循环;第二种结构是不带列表for循环;第三种结构是类C风格的for循环。

bVcOc76for var in list

do

commands

done

#!/bin/bash

for test in alabama alaska arizona arkansas california colorado

do

echo the next state is $test

done

>

the next state is alabama

the next state is alaska

the next state is arizona

the next state is arkansas

the next state is california

the next state is colorado

#!/bin/bash

for test in alabama alaska arizona arkansas california colorado

do

echo "the next state is $test"

done

echo "The las state we visited was $test"

test=connecticut

echo "wait, now we're visiting $test"

>

the next state is alabama

the next state is alaska

the next state is arizona

the next state is arkansas

the next state is california

the next state is colorado

The las state we visited was colorado

wait, now we're visiting connecticut

#!/bin/bash

for test in I don't know if this'll work

do

echo "word:$test"

done

>

word:I

word:dont know if thisll

word:work

#!/bin/bash

for test in nevada "New Hampshire" "New Mexico" "New York"

do

echo "Now going to $test"

done

>

Now going to nevada

Now going to New Hampshire

Now going to New Mexico

Now going to New York

#!/bin/bash

list="Alabama ALaska Arizona Arkansas Colorado"

list=$list" Connecticut"

for state in $list

do

echo "Have you ever visited $state?"

done

>

Have you ever visited Alabama?

Have you ever visited ALaska?

Have you ever visited Arizona?

Have you ever visited Arkansas?

Have you ever visited Colorado?

Have you ever visited Connecticut?

#!/bin/bash

file="states"

for state in `cat $file`

do

echo "Visit beautiful $state"

done

#cat states

>

Alabama

Alaska

dddfac

dfsase

cvcvss

dfqzcvc

ddddwq

bnnn

qqojfaso

>

Visit beautiful Alabama

Visit beautiful Alaska

Visit beautiful dddfac

Visit beautiful dfsase

Visit beautiful cvcvss

Visit beautiful dfqzcvc

Visit beautiful ddddwq

Visit beautiful bnnn

Visit beautiful qqojfaso

#!/bin/bash

IFS=$'\n'

file="states"

for state in `cat $file`

do

echo "visit beautiful $state"

done

>

#cat states

>

A labama

Alaska

dddfac

dfsase

cvcvss

dfqzcvc

ddddwq

bnnn

qqojfaso

>

visit beautiful A labama

visit beautiful Alaska

visit beautiful dddfac

visit beautiful dfsase

visit beautiful cvcvss

visit beautiful dfqzcvc

visit beautiful ddddwq

visit beautiful bnnn

visit beautiful qqojfaso

在处理长脚本时,可能在一个地方需要修改IFS的值,然后忘掉它并在脚本中其他地方以为还是默认的值。一个可参考的简单实践:

IFS.OLD=$IFS

IFS=$'\n'

IFS=$IFS.OLD

#!/bin/bash

for file in /root/*

do

if [ -d "$file" ]

then

echo " $file is a directory "

elif [ -f "$file" ]

then

echo "$file is a file"

fi

done

#!/bin/bash

for file in /root/.b* /home/rich/badtest

do

if [ -d "$file" ]

then

echo "$file is a directory"

elif [ -f "$file" ]

then

echo "$file is a file"

else

echo "$file doesn't exist"

fi

done

类C语言风格

#!/bin/bash

for (( i=1; i<=10; i++ ))

do

echo "The next nuber is $i"

done

>

The next nuber is 1

The next nuber is 2

The next nuber is 3

The next nuber is 4

The next nuber is 5

The next nuber is 6

The next nuber is 7

The next nuber is 8

The next nuber is 9

The next nuber is 10

#!/bin/bash

for (( a=1, b=10; a <= 12; a++, b-- ))

do

echo "$a - $b"

done

>

1 - 10

2 - 9

3 - 8

4 - 7

5 - 6

6 - 5

7 - 4

8 - 3

9 - 2

10 - 1

11 - 0

12 - -1

以上就是良许教程网为各位朋友分享的linux for循环。

以上就是良许教程网为各位朋友分享的Linux相关知识。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值