interactuar-con-shell-script-t6175.html
Estoy intentando hacer un script en Perl que lance un programa, monitorice la salida estándar y si pide entrada de datos, interaccione (no sé de antemano si el programa va a pedir datos, de ahí que monitorice la salida).
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use strict;
- use File::Path;
- $|++;
- open(HANDLE,"-|") || exec("/tmp/perl5/script.sh");
- while (<HANDLE>) {
- print "$_";
- if ( $_ =~ /Continuar/ ) {
- print HANDLE, "y\n"; # ????
- }
- }
- close HANDLE;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Este es un ejemplo lanzando un script de Bash que pregunta si "Continuar" esperando que se introduzca "y" o "n".
script.sh
Using bash Syntax Highlighting
- #!/bin/sh
- for i in `seq 1 10`; do
- print "Iteracion: $i"
- if [ $i -eq 2 ]; then
- echo "Continuar? (y/n):"
- fi
- done
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Entiendo que es la forma de ejecutar el script pero no se me ocurre la forma de que en función la salida introduzca datos.
Agradecería cualquier comentario al respecto.
Saludos.