Здравствуйте. В терминале можно выполнить команды:
cat t.txt | sh
Это последовательность команд передаст интерпритатору sh команды из файла t.txt и выполнит их. Все почти так как я и задумывал, но мне нужно что бы после выполнения команд из текстового файла, интерпритатор sh не закрывал свою оболочку. т.е. не выходил обратно в мой bash. Если говорить ещё проще, то после того как команды выполнятся в sh, я хочу продолжить вводить в sh уже ч-з стандартный ввод дополнительные команды с клавиатуры. Как это можно реализовать?
Перенаправление стандартного ввода
Как это можно реализовать?
скажу банальность... напречь моск. //клиповое мЫшление бич современности...
... добавить третью команду вызова интерпретатора.
[console]
cat t.txt | sh | exec sh
[/console]
или сперва вызвать sh, а потом хоть стриптиз танцуй...
[console]
exec sh | cat t.txt
[/console]
Этот пример я для простоты восприятия написал. Мне тут в соседнем форуме подсказали:
cat t.txt - | sh
Извините что лишний раз снова приходится вас тревожить. В этом реально уже нужном примере (см. ниже) этот «шаблон» не работает:
websocat - это утилита для работы с вэб-сокетами. Когда её запускаю непосредственно из терминала то программа не закрывается после запуска. А вот когда запускаю по примеру выше «cat t.txt - | websocat -q wss://irc-ws.chat.twitch.tv» то почему то содержимое t.txt передается в программу, она его обрабатывает и после этого завершает работу, а мне нужно продолжить в ней работать с введеными данными из файла t.txt. Скажем так, в файле t.txt содержатся команды для первичной конфигурации сеанса работы с утилитой websocat.
Ещё раз прошу прощения за флейм.
И ещё вопросик. Можно ли программе которая работает в фоне (CTRL+Z) из других программ передавать данные в stdin? Ели да, то как это можно реализовать?
то почему то содержимое t.txt передается в программу, она его обрабатывает и после этого завершает работу
ты описываешь один из частных случаев «я художник! я так видю!». Это относится не к тебе, а к авторам этой поделки(да ещё на расте).
Читай доки по ней, как вариант маны. Но что-то сдаётся мне, что они так же от «художника», если вообще имеются.
Самый простой вариант создать скрипт с её запуском, где будет задана начальная установка, а уже дальше работай как знаешь. Я не работал с ней, поэтому ничего конкретного не могу сказать.
вот почитай как вариант, может чего полезного найдёшь https://habr.com/ru/company/ruvds/blog/326826/ , по идее твой случай.
И ещё вопросик.
наверно можно, ведь системные демоны как-то взаимодействуют с окружением, только все программы разные и как они слушают stdin зависит от конкретной программы, все художники, некоторые настолько альтернативные, что порой и носки через голову одевают. Есть шины данных типа D-Bus, есть системДЭ, всякие полисикиты и прочая чертовщина, все они в фоне работают и отслеживают события , и у каждого свои костыли...
Читай доки, и если не понятно, спрашивай конкретные вещи.