То, что вы пытаетесь сделать, просто не может работать.ungetc
работает с буфером stdio FILE
, а не с описанием открытого открытого файла, и, следовательно, нет возможности поделиться им с другим процессом.
Вы можете попробовать запустить интерактивный сеанс в screen
и используя команду screen exec
для перенаправления файловых дескрипторов через процесс, который будет вводить данные.Или вы могли бы реализовать что-то подобное самостоятельно, используя псевдо-tty устройства.
Далее, из ваших комментариев, я думаю, что вы пытаетесь сделать, это крайне плохая идея.Если вам не повезло, и вы вводите текст в интерактивном режиме, это может иметь катастрофические последствия.Например, для автоматизированной команды обработки изображений:
command_foo my_important_file
Теперь предположим, что вы набираете
rm -rf useless_crap
Бам !my_important_file
только что удалили.