SHELL下面SED输出到变量的问题

我想从文件$reportfile中读取从含有${startId}的这一行到含有${endId}这一行之间的内容,然后将其赋值给record变量,之后在使用record里面的内容,但是发现record里面什么内容也没有,也就是echo没有打印出来record,然后代码就挂在那里了,请问这是怎么回事啊?难道SED的output不能赋值给变量?
  
代码如下:

    record=`sed -n '/${startId}/,/${endId}/p' $reportfile`
    echo "after record ${record}"

    type=`grep "type" ${record}|cut -d: -f 2-`
    from=`grep "from" ${record}|cut -d: -f 2-`

作者: special5110   发布时间: 2011-02-26

找到原因了。原来是单双引号的问题。。。。
但是又出来另外一个问题:sed的结果赋给变量之后,结果里面的换行有些变化,导致之后的grep处理异常。。。

作者: special5110   发布时间: 2011-02-26