• Publicidad

Problema al obtener los datos de un comando

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Problema al obtener los datos de un comando

Notapor alperez » 2017-04-20 08:59 @416

Hola.

Estoy teniendo problemas con la salida de un comando al obtener sus datos. Estoy ejecutando la salida de un comando de una aplicativo que usamos para obtener las versiones de los agentes instalados.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
@report = `$get_config -s \"$cliente\" -A -L | egrep "Version Name|Patch|Platform"`;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

El problema me viene que, cuando algún cliente no está o hay un problema de comunicación con él, en vez de guardar los datos de salida en el array, los imprime por pantalla.
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
client hostname could not be found
cannot connect on socket
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Me gustaría saber si hay alguna forma para poder separar estos datos que se impriman por pantalla directamente desde el comando a otro lugar, ya que la salida que intento obtener depurada se fastidia con la salida del comando.

Saludos.
alperez
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-11-14 17:48 @783

Publicidad

Re: Problema al obtener los datos de un comando

Notapor explorer » 2017-04-20 10:09 @465

Ya que estás ejecutando un comando en la línea de comandos, puedes usar su facilidad de redirección, para enviar la salida estándar de error a otro archivo, o tirarlo a la papelera:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. perl -e ' @x = `ls -l .bashrc archivo_desconocido 2>/dev/null`; print "[$_]" for @x; print "\n"'
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Otra opción, más profesional, es usar módulos que capturan la salida estándar de error, como puede ser IPC::Open3
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema al obtener los datos de un comando

Notapor alperez » 2017-04-21 04:15 @219

Ok, muchas gracias, ya he visto cómo funciona el módulo IPC::Open3.
alperez
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-11-14 17:48 @783


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados