Выполнять команды внутри другого процесса? - PullRequest
0 голосов
/ 19 сентября 2010

Я хочу иметь возможность запустить процесс и немедленно отправить ему входные данные.

Взять Bash в качестве примера.

Следующий код войдет в другой процесс Bash и напечатает «Hello World!» на экране после того, как я завершил процесс с «выходом»

bash
echo "Hello World!"

Есть ли способ войти в bash и затем напечатать "Hello World!" ВНУТРИ этого процесса?

Я использую Ruby и Bash в Ubuntu.

ОБНОВЛЕНИЕ: Этот вопрос не был предназначен для Bash. Баш был просто примером. Было бы лучше, если бы кто-то мог опубликовать ответ, который обрабатывает все остальные двоичные файлы.

Ответы [ 3 ]

2 голосов
/ 19 сентября 2010

Возможно, вы ищете инструмент expect.

1 голос
/ 19 сентября 2010
bash -c 'echo "Hello World!"'

Вы также можете попробовать написать bash-скрипт и вызвать его:

bash ./myscript

или поставить #!/bin/bash в качестве первой строки в текстовом файле и он будет вызываться с использованием bash, как и любой другой исполняемый файл:

./myscript

Update0

Bash является интерпретатором.Есть много других переводчиков, я настоятельно рекомендую вам взглянуть на Python , вы можете достаточно легко отправить инструкции для интерпретации этих программ.

Возможно, вы также обращаетесь к Unix IO-модель , в этом случае вы можете задать вопрос, касающийся использования трубопроводов с stdin и stdout.

0 голосов
/ 19 сентября 2010
%x(some external bash commands)

`ls -1`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...