El día 25 de junio de 2010 08:33, Alfredo Daniel Rezinovsky <[email protected]> escribió: > En bash puedo abrir un file descriptor para input y output a un archivo > usando: > exec 4<> filename > despues de eso puedo leer y escribir el fd numero 4 con: > echo $algo >&4 > read algo <&4 > > Tambien puedo convertir el stdin o el stdout de un proceso en un fake > file descriptor usando <(proceso) o >(proceso) y puedo: > exec 4< <(proceso) > read algo <&4 > o > exec 4> >(proceso) > echo $algo >&4 > > La pregunta es como abrir stdin Y stdout de un proceso AL MISMO TIEMPO > (pueden ser fds distintos) para despues leer y escribir desde bash > > Lo que quiero es desde un script enviar comandos al proceso, leer la > respuesta, enviar más comandos, etc. > > -- > Alfredo D. Rezinovsky > (Sys|Net)Admin > LI² -- FING -- UNCuyo > > > > > >
Con un par de pipes tal vez? No se me ocurre otra forma. pipe_in=/tmp/mypipe_in pipe_out=/tmp/mypipe_out mknod $pipe_in p mknod $pipe_out p nc smtp.blabla.com 25 < $pipe_in > $pipe_out 2>&1 & exec 4>$pipe_in exec 5<$pipe_out read input <&5 echo $input echo QUIT >&4 read input <&5 echo $input Igualmente hace esto en bash es horrible... tanto lenguaje de programación para hacer ésto más lindo... saludos! -- Diego Woitasen
