2011-08-14 33 views
0
for i in $(some function); do somefunction2 $i; done 

-su: 0 5 : syntax error in expression (error token is "5 ") 

我的問題是一些函數返回 「0 9」 我不能用這個:如何刪除在bash文件雙引號(Linux)的

for i in "0 5"; do somefunction2 $i; done 

結果都是一樣的

-su: 0 5 : syntax error in expression (error token is "5 ") 

,但如果使用這樣的:

for i in 0 5; do somefunction2 $i; done 

它的工作原理。有些功能循環和呼應這個

echo -n "$i " 

我想回到0 5"0 5"我該怎麼辦?

+1

爲速戰速決,$(部分功能| TR -d「\」「) – Sujoy

+0

有一個相同的錯誤 – pir8

+2

您需要發佈的*真正的*代碼,因爲你告訴我們你認爲問題是用bash和引號(一個相當奇妙的結論,恕我直言)。這不可能是真實的,因爲錯誤是由「su」命令引起的,我在你的問題中看不到任何地方。基本上我相信你的問題是用somefunction2和用來調用「su」的語法,但我們無法幫助你提供的信息。 – hmontoliu

回答

0

這應該解決您的問題:

eval for i in $(some function); do somefunction2 \$i; done 

但是,它不是從你的問題來自哪裏的su清楚了嗎?

0

您不必刪除任何內容:

function five { 
    echo 0; 
    echo 5; 
    } 

    function fiveString { 
    echo "0 5"; 
    } 

    for i in `five`;do 
    echo process $i; 
    done 

    for i in $(echo $(fiveString));do 
    echo process $i; 
    done