Как я могу удалить двойную кавычку в файле Bash. (Linux) - PullRequest
0 голосов
/ 14 августа 2011
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

Это работает. Некоторая функция для цикла и эха этого

echo -n "$i "

Я хочу вернуть 0 5 не "0 5" Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2012

Вам не нужно ничего удалять:

   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
0 голосов
/ 15 августа 2011

Это должно решить вашу проблему:

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

Однако из вашего вопроса непонятно, откуда взялся su?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...