Используя подстановку процессов, мы можем получить каждую строку вывода команды.Не удается прочитать строки из запущенного процесса в bash
# Echoes every seconds using process substitution
while read line; do
echo $line
done < <(for i in $(seq 1 10); do echo $i && sleep 1; done)
К тому же, как выше, я хочу, чтобы получить выход стандартного вывода команды «wpa_supplicant», в то время как отбрасывание STDERR. Но ничего не видно на экране!
while read line; do
echo $line
done < <(wpa_supplicant -Dwext -iwlan1 -c${MY_CONFIG_FILE} 2> /dev/null)
Я подтвердил, что ввод такой же команды в командной строке показывает ее выход нормальный.
$ wpa_supplicant -Dwext -iwlan1 -c${MY_CONFIG_FILE} 2> /dev/null
Какая ошибка? Любая помощь будет оценена по достоинству.
Я не знаю, в чем проблема, но замена процесса абсолютно бессмысленна. Просто отправьте stdout на 'while'. – 4ae1e1