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