我如何读取 POSIXbash
输入,如下所示:
<name>,<tag1> <tag2> <tag3>…
我尝试过,
while read line;do done
但这需要换行符,我所拥有的只是空格。
(是IFS解决方案?如果是,怎么办? (我不完全理解IFS。))
答案1
使用数组:
echo '<name>,<tag1> <tag2> <tag3>' | while IFS=" ," read -a foo; do echo ${foo[@]}; done
输出:
<name> <tag1> <tag2> <tag3>
从man bash
:
IFS:内部字段分隔符,用于扩展后的字拆分,以及使用 read 内置命令将行拆分为字。