Отправка входных данных в запущенный сценарий командной оболочки с использованием stdin fd

#linux #bash #shell

#linux #bash #оболочка

Вопрос:

Я пытаюсь отправить команду запущенному сценарию оболочки через его дескриптор файла stdin. Скрипт должен отобразить полученную команду.

 while IFS= read -r line; do
    echo "line is $line"
done
 

Скрипт работает с вводом с клавиатуры, но не работает, когда я отправляю значение в его стандартный fd как :

 $ echo "foo" > proc/XXX/fd/0
 

Значение «foo» отображается в терминале, где я запустил свой скрипт, но не перехватывается ит. Я делаю это неправильно? Есть ли другой способ отправить команду?

Комментарии:

1. pty не используется для обычного взаимодействия между процессами. какую проблему вы используете для решения?

2. Я хотел бы отправить «foo» в запущенный скрипт с помощью команды или другого скрипта

3. echo foo | /your/script.sh работает ли это для вас?

4. Это работает, но только для запуска сценария. Я хотел бы сделать то же самое для уже запущенного скрипта