Если я вас понимаю ...
cat < a > b
Это перенаправление ввода от a и перенаправление вывода на b.Это то, что вы хотели?
Попробуйте это.
cat
Он будет сидеть и ждать вас, потому что по умолчанию терминал STDIN.
Введите что-нибудь и нажмите- он плюет на вас, потому что по умолчанию STDOUT идет на консоль.Это будет продолжаться до тех пор, пока вы не передадите ему EOF-символ или не нарушите программу другим способом, например CTRL-C.
Если вам требуется труба,
cat | cat
будет (бессмысленно) делать то же самое.
Объединить их для безвозмездного использования как труб, так и перенаправлений -
cat < a | cat > b
Можете ли вы дать более четкие требования?