分页: 1 / 1

bash 中 read 的问题

发表于 : 2011-03-01 23:27
pangding
呵呵,第一帖,希望能得到大家的关注~ :em02

前几天写脚本,用 read 处理管线的上下文,遇到一个挺令我意外的 BUG。
我现在写了一个能体现问题所在的脚本。脚本和运行結果如下:

代码: 全选

$ cat shtest.sh 
#! /bin/bash

while read abc; do
    printf "%s, %s\n" $abc $abc
done <<- EOF
    abc def ghi
    jkl mno pqr
EOF

$ ./shtest.sh 
abc, def
ghi, abc
def, ghi
jkl, mno
pqr, jkl
mno, pqr
$ 

而我预期的結果应该是这样的:

代码: 全选

abc def ghi, abc def ghi
jkl mno pqr, jkl mno pqr
差距挺大,为什么会这样?

Re: bash 中 read 的问题

发表于 : 2011-03-02 10:43
eexpress
空格分割的。你要加""包括

Re: bash 中 read 的问题

发表于 : 2011-03-02 10:58
pangding
哦,原来如此。呵呵,谢谢。