Помимо использования временного файла, чтобы помочь, есть ли способ / программа может буферизовать ввод, 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
для этого. Очевидно, что он имеет побочные эффекты, которые могут быть нежелательными.