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

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

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

    jasmine214--love

    只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    shell里的IFS內置環境變量

    Posted on 2013-03-12 18:19 幻海藍夢 閱讀(2826) 評論(0)  編輯  收藏 所屬分類: Shell
    IFS 的全稱是 Interal Field Separator ,即“內部區域分隔符”,它也是一個內置環境變量,存儲著默認的文本分隔符,默認下這分隔符是空格符(space character),制表符(tab) 以及新行(newline) 。先看下面一個簡單示例:
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/sh
     
    msg="welcome to www groad net"
     
    for item in $msg
    do
        echo "Item: $item"
    done

    運行輸出:
    # sh temp.sh
    Item: welcome
    Item: to
    Item: www
    Item: groad
    Item: net

    上 面用一個 for 循環遍歷了變量 msg 里的所有項。 msg 變量里存儲的各個單詞都是用空格分開的,而 for 能依次取出這些單詞,正是依靠 IFS 這個變量作為分隔符。如果將 msg 變量改為 CSV (comma separaed values 逗號分隔值)格式,那么按照默認的 IFS 值就無法解析出各個單詞,如:
    sh temp.sh
    Item: welcome,to,www,groad,net

    這樣,整個字符串就當成一個 item 被獲取了。

    此時如果仍然希望逐個獲得各個單詞,那么需要修改 IFS 變量的值,如:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/sh
     
    data="welcome,to,www,groad,net"
     
    IFSBAK=$IFS     #備份原來的值
     
    IFS=,
     
    for item in $data
    do
        echo Item: $item
    done
     
    IFS=$IFSBAK     #還原

    運行輸出:
    # sh tmp.sh
    Item: welcome
    Item: to
    Item: www
    Item: groad
    Item: net
    主站蜘蛛池模板: 99免费精品视频| 在线播放国产不卡免费视频| 青柠影视在线观看免费| 亚洲国产综合精品中文字幕| 国产精品无码亚洲一区二区三区| 无码国产精品一区二区免费I6| 亚洲色图黄色小说| 国产精品成人观看视频免费| 精品亚洲A∨无码一区二区三区| 美丽姑娘免费观看在线观看中文版| 久久被窝电影亚洲爽爽爽| 日韩免费观看一区| 67pao强力打造67194在线午夜亚洲| 99免费观看视频| 亚洲xxxx视频| 国产jizzjizz视频免费看| 老妇激情毛片免费| 在线精品亚洲一区二区三区| 免费萌白酱国产一区二区三区| 亚洲A∨无码一区二区三区| 在线免费中文字幕| 亚洲中文无码mv| 日本中文一区二区三区亚洲| 一个人看的免费高清视频日本| 中文字幕人成人乱码亚洲电影| a色毛片免费视频| 亚洲福利电影一区二区?| 大地资源在线观看免费高清| 日韩在线视精品在亚洲| 亚洲精品tv久久久久久久久久| 中国一级毛片视频免费看| 香蕉视频在线观看亚洲| 亚洲精品动漫免费二区| 爱情岛论坛免费视频| 亚洲Av熟妇高潮30p| 成人免费777777| 国产高潮流白浆喷水免费A片 | 免费在线观影网站| 亚洲一区二区三区亚瑟| jizzjizz亚洲| 亚色九九九全国免费视频|