Control de IRB a través de una tubería con nombre (en lugar de STDIN / STDOUT)
Pregunta
¿Es posible ejecutar Rubí IRB ver una tubería con nombre, por lo que puede enviar comandos y obtener resultados de forma remota?
En general, me gustaría utilizar el motor de IRB, mientras que tener una interfaz de usuario diferente (probablemente escrito con .Net).
Solución
Creo que sí - esto funcionó para mí (Mac OS X):
en el terminal 1:
mkfifo rpipe
en el terminal 2:
tail -f rpipe | irb
en el terminal 1:
echo "puts 'hi'" > rpipe
en el terminal 2 (de salida):
puts 'hi'
hi
nil
Un poco molesto que el comando de salida original es así, pero cerca ...
Otros consejos
Parece ser (yo sólo probé); solo tubo de la E / S a través de su ppipe llamado y ya está bueno.
Pero tengo que pregunto, ¿por qué?
En concreto, ¿por qué no se ejecuta como un subproceso?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow