и не выстрадал. Есть приложение, которое работает через консоль в интерактивном режиме. Она выполняет какие-то команды, и даёт какой-то вывод. Использую для контроля стандартный os/exec. Если просто к stdin, out команды подключить os.Stdin, os.Stdout, то все окей: показывает prompt (приглашение типа ">>> "). А если свой пытаться буфер или другой readerWriter подключить то промта не могу увидеть. В исходном коде что-то что мне не нравится https://golang.org/src/os/exec/exec.go#L244 с попыткой каста в os.File. И соответственно невозможно получить данные, которые программа посылает в stdin (так и работает промт), потому что если это не файл, то просто Reader, соответственно писать ничего туда никто не будет.
Или у меня замылился глаз?
(видеть промт мне нужно, чтобы знать когда команда выполнена)
Возьмите и отладчиком посмотрите.
Обсуждают сегодня