for循环是Linuxshell中最常用的结构
发布时间:2023-10-27 11:06:33 所属栏目:Linux 来源:互联网
导读: for循环是Linux shell 中最常用的结构。for 循环有三种结构:一种结构是列表for循环;第二种结构是不带列表for循环;第三种结构是类C风格的for循环。
for var in list
for var in list
for循环是Linux shell 中最常用的结构。for 循环有三种结构:一种结构是列表for循环;第二种结构是不带列表for循环;第三种结构是类C风格的for循环。 for 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; ido 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 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 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐