读书人

字段分隔符IFS跟循环

发布时间: 2012-12-21 12:03:49 作者: rapoo

字段分隔符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

读书人网 >编程

热点推荐