shell read 指定分隔符

read默认使用空格做分隔符 如下:

echo "aa bb"|while read a b;do
  echo $a,$b
done

#默认按空格做分割,打印出
aa,bb

如果要修改分隔符,需要给IFS变量赋值:

read --help
其中有一句:

Only the characters found in I F S a r e r e c o g n i z e d a s w o r d d e l i m i t e r s . 只 有 IFS are recognized as word delimiters. 只有 IFSarerecognizedasworddelimiters.IFS变量中的字符才会被看作分隔符。

具体用法:

IFS=";"
echo "aa;bb"|while read a b;do
  echo $a,$b
done

#按设定的分号做分割,打印出
aa,bb

你可能感兴趣的:(linux)