Управление IRB через именованный канал (вместо STDIN/STDOUT)

StackOverflow https://stackoverflow.com/questions/738426

  •  09-09-2019
  •  | 
  •  

Вопрос

Можно ли запустить Ruby IRB через именованный канал, чтобы я мог отправлять команды и получать результаты удаленно?

Обычно я хотел бы использовать движок IRB, но иметь другой пользовательский интерфейс (вероятно, написанный на .Net).

Это было полезно?

Решение

Я так думаю - у меня это сработало (mac os x):

в терминале 1:

mkfifo rpipe

в терминале 2:

tail -f rpipe | irb

в терминале 1:

echo "puts 'hi'" > rpipe

в терминале 2 (выход):

puts 'hi'
hi
nil

Немного раздражает, что исходная команда также выводится, но близко...

Другие советы

Кажется (я только что попробовал);просто пропустите ввод-вывод через именованный ppipe, и все в порядке.

Но я должен спросить, почему?

В частности, почему бы вам просто не запустить его как подпроцесс?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top