2011-07-04 28 views
3

我有一个像“后”是不能用一个变量的同时和管道在bash

var="before" 
echo "$someString" | sed '$someRegex' | while read line 
do 
    if [ $condition ]; then 
     var="after" 
     echo "$var" #first echo 
    fi 
done 
echo "$var" #second echo 

这里先回声打印代码,但第二个是“前”。我怎样才能让第二个回声打印“之后”。我认为这是因为买管不知如何弄清楚。

感谢您的任何解决方案...

答案编辑:

我纠正它,它工作正常。为您有用的答案

var="before" 
while read line 
do 
    if [ $condition ]; then 
     var="after" 
     echo "$var" #first echo 
    fi 
done < <(echo "$someString" | sed '$someRegex') 
echo "$var" #second echo 

回答

相关问题