Экспериментируя с перенаправлением вывода и подстановкой процесса, я наткнулся на следующую команду и ее вывод:
me @ elem: ~ $ echo foo>> (кошка); эхо-бар бар me @ elem: ~ $ foo
(Да, этот пустой символ новой строки в конце является преднамеренным.)
Итак, bash echo's bar, печатает мою обычную подсказку, echo foo, echo - новую строку и оставляет мой курсор там. Если я нажму клавишу ввода еще раз, он выведет мою подсказку в новой строке и оставит после нее курсор (как и ожидалось, когда кто-нибудь нажмет клавишу ввода в пустой командной строке).
Я ожидал, что он напишет foo в файловый дескриптор, cat прочитает его и echo's foo, панель второго echo echo, а затем вернется в командную строку. Но это явно не тот случай.
Может кто-нибудь объяснить, пожалуйста, что происходит?