<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    控制流結(jié)構(gòu)——for

    Posted on 2009-11-29 12:06 Gavin.lee 閱讀(210) 評(píng)論(0)  編輯  收藏 所屬分類: Linux shell 入門

     

    for循環(huán)
    for 變量名 in 列表
    do
           命令 1
           命令 2
    done
    當(dāng)變量值在列表里,for循環(huán)即執(zhí)行一次所有命令,使用變量名訪問列表中取值。命令可為任何有效的shell命令和語句。變量名為任何單詞。in列表用法是可選的,如果不用它, for循環(huán)使用命令行的位置參數(shù)。in列表可以包含替換、字符串和文件名,下面看一些例子。
    Shell代碼
    1. /home/l/g/tomotoboy/for >cat fortest   
    2. #!/bin/sh   
    3. #for_i   
    4. for loop in 1 2 3 4 5 6  
    5. do   
    6.     echo $loop   
    7. done   
    8.   
    9. #forlist   
    10. for loop in "orange red blue grey"  
    11. do   
    12.    echo $loop   
    13. done   
    14.   
    15. #forls   
    16. for loop in `ls`   
    17. do   
    18.      echo $loop   
    19. done   
    20.   
    21.   
    22. #forparam   
    23. for params   
    24. do   
    25.      echo "you supplied $params as command line option"  
    26.      echo $params   
    27. done   
    28.   
    29. for params in "$@"  
    30. do   
    31.      echo "you supplied $params as command line option"  
    32.      echo $params   
    33. done   
    34.   
    35. #forcommand   
    36. for loop   
    37. do   
    38.       find `pwd` -name $loop -print   
    39. done   
    40.   
    41.   
    42. /home/l/g/tomotoboy/for >fortest fortest   
    43. 1  
    44. 2  
    45. 3  
    46. 4  
    47. 5  
    48. 6  
    49. orange red blue grey   
    50. fortest   
    51. you supplied fortest as command line option   
    52. fortest   
    53. you supplied fortest as command line option   
    54. fortest  


    使用for循環(huán)連接服務(wù)器
    因?yàn)閒or循環(huán)可以處理列表中的取值,現(xiàn)設(shè)變量為網(wǎng)絡(luò)服務(wù)器名稱,并使用for循環(huán)連接每一服務(wù)器。
    Shell代碼
    1. #!/bin/sh   
    2. #forping   
    3. HOSTS="sina.com cqu.edu.cn baidu.com"  
    4. for loop in $HOSTS   
    5. do   
    6.      ping -c 2 $loop   
    7. done  
    多文件轉(zhuǎn)換
    匹配所有以.sed結(jié)尾文件并將其轉(zhuǎn)換為大寫。這里使用了 l s和cat命令。l s用于查詢出相關(guān)文件,cat用于將之管道輸出至trr命令。目標(biāo)文件擴(kuò)展名為.UC,注意在for循環(huán)中使用l s命令時(shí)反引號(hào)的用法。
    Shell代碼
    1. #!/bin/sh   
    2. #forstr   
    3. for files in `ls *.sed`   
    4. do   
    5.     cat $files |tr "[a-z]"  "[A-Z]" >$files.UC   
    6. done   
    7.   
    8. /home/l/g/tomotoboy >cat change.sed   
    9. #!/bin/sed -f   
    10. #change.sed   
    11. /tomotoboy/ c\   
    12. I love China,Ilove Wanzhi.   
    13. /home/l/g/tomotoboy >ls *.UC   
    14. append.sed.UC  change.sed.UC   
    15. /home/l/g/tomotoboy >cat change.sed.UC   
    16. #!/BIN/SED -F   
    17. #CHANGE.SED   
    18. /TOMOTOBOY/ C\   
    19. I LOVE CHINA,ILOVE WANZHI.  


    多sed刪除操作
    下面的例子中,sed用于刪除所有空文件,并將輸出導(dǎo)至以 . HOLD.為擴(kuò)展名的新文件,mv將這些文件移至初始文件中。
    Shell代碼
    1. #!/bin/sh   
    2. #forsed   
    3. for files in `ls *.sed`   
    4. do   
    5.    sed -e "/^$/d" $files > $files.HOLD   
    6.    mv $files.HOLD $files   
    7. done  


    循環(huán)計(jì)數(shù)
    前面討論expr時(shí)指出,循環(huán)時(shí)如果要加入計(jì)數(shù),使用此命令。下面使用 l s在for循環(huán)中列出文件及其數(shù)目。
    Shell代碼
    1. /home/l/g/tomotoboy >cat forcount   
    2. #!/bin/sh   
    3. #forcount   
    4. count=0  
    5. for files in *   
    6. do   
    7.   count=`expr $count + 1`   
    8. done   
    9. echo "There are $count files in `pwd` we need to process"  

    主站蜘蛛池模板: 国产亚洲精品成人AA片| 亚洲av无码国产精品色午夜字幕 | 国产成人精品免费视| 久久久国产精品亚洲一区| 99蜜桃在线观看免费视频网站| 亚洲精选在线观看| 久久免费公开视频| 亚洲一区在线视频| 成人毛片免费播放| 亚洲AV无码AV日韩AV网站| 四虎永久成人免费影院域名| 免费一区二区无码视频在线播放 | 亚洲成aⅴ人片久青草影院| 国产精品美女久久久免费 | 久久精品国产69国产精品亚洲| 国产亚洲免费的视频看| 亚洲精品视频免费看| 在线看片免费不卡人成视频| 亚洲av午夜国产精品无码中文字| 亚洲av麻豆aⅴ无码电影| 成人免费ā片在线观看| 亚洲一区二区三区四区在线观看| 久久受www免费人成_看片中文| 亚洲日韩AV一区二区三区中文| 免费播放特黄特色毛片| a级片免费在线观看| 亚洲国产精品一区二区久| 全免费a级毛片免费看无码| 一进一出60分钟免费视频| 老司机亚洲精品影院| 免费看的一级毛片| 你懂的免费在线观看| 亚洲AV无码乱码麻豆精品国产| 四虎永久免费观看| 99久久久国产精品免费牛牛| 国产午夜亚洲精品国产| 亚洲老妈激情一区二区三区| 噼里啪啦电影在线观看免费高清| www一区二区www免费| 亚洲一区二区三区高清不卡| 最新亚洲成av人免费看|