LINUX.ORG.RU

Как «объединить» команды, у которых перенаправляются стандартные потоки?

 , , ,


0

1

Имеется tty с файлом устройства /dev/pts/25.

Нужно выполнить bash-команду так, чтобы все стандартные потоки попали в /dev/pts/25. Причем необходимо, чтобы даже составная команда сработала как единое целое.

Другими словами, отдельная команда работает без ошибок:

ls -l </dev/pts/25 >/dev/pts/25 2> /dev/pts/25

А составная выдает ошибку:
ls -l | grep lib </dev/pts/25 >/dev/pts/25 2> /dev/pts/25
ls: ошибка записи: Обрыв канала

Вопрос: как сделать так, чтобы составная команда ls -l | grep lib рассматривалась как «единая» и не было вышеуказанной ошибки?

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)

Ответ на: комментарий от t184256

Да, точно, так заработало!

Сразу не заметил, но есть еще проблема.

В терминале /dev/pts/25 всегда запущен xterm. Как бы сделать так, чтобы после такого «удаленного» выполнения команды в этом терминале появлялось приглашение ввода? А то вывод останавливается и все, больше ничего не происходит.

Другими словами, после выполнения команды приходится переключаться на окно терминала /dev/pts/25, нажимать «Enter» и только тогда появляется приглашение ввода. Если что, xdotool в системе нет и не предвидится.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 3)

Труба - это перенаправление стандарного вывода левой команды в стандартный ввод правой. Что вы на самом деле хотите то?

vodz ★★★★★
()