Я хотел бы сделать:
if not eof(stdin):
pass stdin to program
else:
do nothing
У меня есть ощущение, что это может быть написано довольно близко к:
if test ! --is-eof - ; then
exec program
Проблема, которую я пытаюсь решить, заключается в том, что program
читает из стандартного ввода, но вылетает, если не получает никакого ввода. У меня нет доступа к источнику для program
поэтому program
не может быть изменена. Бинарный ввод больше, чем объем памяти, поэтому ввод stdin в файл сначала недопустимо медленен. Строковая обработка всех входных данных в bash также недопустимо медленная.
В идеале решение должно работать как под csh, так и под bash.