2013-10-30 50 views
1

我已閱讀關於堆棧溢出中函數的返回輸出的qns。所有的帖子說,使用回聲從shell腳本返回恰好一個字符串/值

#!/bin/bash 

function myown() 
    { 
     echo "i dont need this in retval" 

     echo "Need this alone in retVal" 
    } 

    retVal=$(myown) 

    echo $retVal 

O/P: 我不需要這RETVAL需要這個人在retVal的

預期: 需要此人在retVal的

是否有辦法在回顯中刷新前一個輸出。或者我需要解析所有的回顯輸出以獲得我的返回值?有沒有簡單的方法來做到這一點?因爲我可能有回聲,有用的調試和回聲返回一個值。

回答

4

回聲輸出到標準錯誤進行調試:

#!/bin/bash 

function myown() 
{ 
    echo "i dont need this in retval" >&2 

    echo "Need this alone in retVal" 
} 

retVal=$(myown) 

echo "result: $retVal" 

當您運行腳本,你會看到

 
i dont need this in retval 
result: Need this alone in retVal