<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"  

    主站蜘蛛池模板: 久久亚洲美女精品国产精品 | 777亚洲精品乱码久久久久久 | 亚洲精品国产成人99久久| 爽爽日本在线视频免费| 120秒男女动态视频免费| 国产高清对白在线观看免费91| 亚洲日韩乱码中文字幕| 亚洲第一区视频在线观看| 亚洲国产精品成人久久| 精品亚洲一区二区三区在线观看| 日本免费人成黄页在线观看视频 | 亚洲国产精品无码成人片久久| 国产一级一片免费播放i| 美女视频黄的全免费视频| 午夜精品免费在线观看| 中文字幕免费在线播放| 一级毛片免费观看不收费| 精品国产亚洲一区二区三区在线观看 | 成人免费一级毛片在线播放视频| 无码专区AAAAAA免费视频| 一级毛片在播放免费| 免费人成大片在线观看播放| 亚洲日韩在线中文字幕综合| 一本色道久久综合亚洲精品蜜桃冫 | 久久亚洲高清综合| 亚洲国产午夜福利在线播放| 日本无卡码免费一区二区三区| 日韩一区二区a片免费观看| 2020久久精品国产免费| 青娱乐免费视频在线观看| 18禁美女黄网站色大片免费观看| 精品熟女少妇a∨免费久久| 亚洲免费精彩视频在线观看| 久久久久久久岛国免费播放 | 亚洲性一级理论片在线观看| 亚洲最新中文字幕| 亚洲精品美女网站| 亚洲综合精品成人| 国产成人高清亚洲一区久久| 无套内射无矿码免费看黄| 产传媒61国产免费|