Помимо использования временного файла, чтобы помочь, есть ли способ / программа может буферизовать ввод, stdinно не выводит содержимое до получения EOF. Я не хочу использовать переменную оболочки (например buffer=$(cat)).
Эта программа должна вести себя как показано ниже (предположим, что имя программы buffered-cat):
$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)
Теперь, когда программа получила ^D, buffered-catвыводит содержимое
line 1
line 2
line 3
sortдля этого. Очевидно, что он имеет побочные эффекты, которые могут быть нежелательными.