Эта проблема возникла для меня однажды, когда я уже открыл встроенный Android-эмулятор (AVD). Проверьте, отключили ли вы его, прежде чем начинать изменять что-либо в настройках.
Я не знаю о способе сделать это, однако можно быть в состоянии выполнить то, что Вы пытаетесь сделать использование:
somecommand | while read -r; do echo "Something with $REPLY"; done
Это также будет быстрее, поскольку Вы не будете создавать новый процесс для каждой строки текста.
[РЕДАКТИРУЮТ 09.07.2009] , я внес два изменения:
-r
для отключения обработки обратной косой черты - это означает, что через обратные косые черты во входе пройдут неизменные. X
) в качестве параметра к read
, мы позволяем read
, присваивают его переменной по умолчанию, REPLY
. Это имеет приятный побочный эффект сохранения продвижения и конечных пробелов, которые разделяются иначе (даже при том, что внутренние пробелы сохраняются). От моих наблюдений, вместе эти изменения сохраняют все кроме литеральных символов NUL (ASCII 0) на каждой входной строке.
[РЕДАКТИРУЮТ 26.07.2016]
По словам комментатора Evi1M4chine, установка $IFS
к пустой строке прежде, чем работать read X
(например, с командой IFS='' read X
) должна также сохранить пробелы вначале и конец при хранении результата в $X
, означать, что Вы не вынуждены использовать $REPLY
.
Что относительно этого?
somecommand | xargs -d"\n" -I{} echo "the argument is: {}"
(принимает, каждым аргументом является строка, иначе измените разделитель)