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

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

내 문제는 일부 함수 반환 "0 9"나는 이것을 사용할 수 없습니다(리눅스)

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 

의미가 있습니다. 루프에 대한 몇 가지 기능은 내가 0 5 내가 어떻게 할 수없는 "0 5" 반환하려면이

echo -n "$i " 

에코?

+1

, $ (일부 기능 | TR -d "\" ") – Sujoy

+0

이 같은 오류가를 – pir8

+2

을 당신이 게시해야합니다 * 실제 * 코드는 문제가 bash와 따옴표 (상당히 환상적인 결론 인 IMHO)라고 생각하기 때문에 말입니다. 문제가 어디에서나 볼 수없는 "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