LINUX.ORG.RU

Перенаправление стандартного ввода

 , ,


0

2

Здравствуйте. В терминале можно выполнить команды: cat t.txt | sh Это последовательность команд передаст интерпритатору sh команды из файла t.txt и выполнит их. Все почти так как я и задумывал, но мне нужно что бы после выполнения команд из текстового файла, интерпритатор sh не закрывал свою оболочку. т.е. не выходил обратно в мой bash. Если говорить ещё проще, то после того как команды выполнятся в sh, я хочу продолжить вводить уже ч-з стандартный ввод дополнительные команды с клавиатуры. Как это можно реализовать?


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

Спасибо. Замечательно пример работает. Но этот пример я для простоты восприятия написал. Извините что лишний раз снова приходится вас тревожить. В этом реально нужном уже примере ваш «шаблон» не работает:

[root@homecurl]# cat t.txt - | websocat -q wss://irc-ws.chat.twitch.tv cat: -: Resource temporarily unavailable PONG :tmi.twitch.tv [root@homecurl]#

websocat - это утилита для работы с вэб-сокетами. Когда её запукаю непосредственно из терминала то программа не закрывает после запуска. А вот когда запускаю по вашему примеру «cat t.txt - | websocat -q wss://irc-ws.chat.twitch.tv» то почему то содержимое t.txt передается в программу и она после этого завершает работу. Ещё раз прошу прощения за флейм.

k0x ()
Ответ на: комментарий от Lrrr

И ещё вопросик. Можно ли программе которая работает в фоне (CTRL+Z) из других программ передавать данные в её stdin а так же подключаться к её stdout? Ели да, то как это можно реализовать?

k0x ()