virtualmin instalar español descargar configurar linux perl apache bash centos

linux - instalar - webmin español



¿Cómo reviso un módulo Apache instalado en Perl? (2)

Estoy escribiendo un script de Perl para verificar y ver si un módulo está actualmente instalado para Apache. En Bash, usaría:

# httpd -M | grep fcgid Syntax OK fcgid_module (shared)

Quiero que esto devuelva un valor de VERDADERO si ese módulo existe y FALSO si no es así. Sin embargo, me encuentro con un problema, porque httpd -M siempre muestra "Sintaxis correcta".

Esto es lo que tengo hasta ahora:

#!/usr/bin/perl my $FCGID = ""; if (`httpd -M | grep fcgid`) { $FCGID = "enabled" } else { $FCGID = "disabled" }

El IF siempre se evalúa como verdadero sin embargo.

Acerca de mi configuración:

x86_64 GNU/Linux # cat /etc/redhat-release CentOS release 6.2 (Final) # httpd -v Server version: Apache/2.2.15 (Unix) # perl -v This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

Abierto a sugerencias. Soy bastante nuevo en Perl y todavía soy un poco nuevo en Bash scripting.


perl 2>/dev/null -le ''my @list = qx(httpd -D DUMP_MODULES ); print "FCGI found" if ( grep { $_ =~ /fcgi/ } @list ) ''


Resulta que solo necesito redirigir la salida y estaba confundido acerca de cómo hacer eso.

$ httpd -M 2> /dev/null | grep fcgid_module fcgid_module (shared)

Entonces en PERL, puedo evaluar esa expresión BASH y guardarla en una variable y probarla contra la variable en la declaración IF.

my $FCGI = ""; my $FCGI_mod = `httpd -M 2> /dev/null | grep fcgid_module`; if ( $FCGI_mod eq "" ) { $FCGI = "disabled" } else { $FCGI = "enabled" }

No es el más bonito, pero hace lo que necesito.

¡Gracias a quienes lo investigaron!