字段分隔符IFS和循环

Shell的内部域分隔符可以是空格、制表符和换行符。它可以作为命令的分隔符用在例如read、set和for等命令中。如果在列表中使用不同的分隔符,用户可以自己定义这个符号。在修改之前将IFS原始符号的值保存在另外一个变量中,这样在需要的时候还可以还原。

 


    见如下示例脚本:
    /> cat > test9.sh
    names=Stephen:Ann:Sheryl:John    #names变量包含的值用冒号分隔。
    oldifs=$IFS                                    #保留原有IFS到oldifs变量,便于后面的还原。
    IFS=":"                            
    for friends in $names                      #这是遍历以冒号分隔的names变量值。   
    do
        echo Hi $friends
    done
    IFS=$oldifs                                    #将IFS还原为原有的值 空格。
    set Jerry Tom Angela
    for classmates in $*                      #再以原有IFS的值变量参数列表。
    do
        echo Hello $classmates
    done

你可能感兴趣的:(循环)