[P] Redireccionar salida de comandos

Francisco Obispo fobispo at nic.ve
Mon Mar 17 07:22:21 CST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola.

Logicamente usar Net::LDAP es MUCHO mas limpio..

ahora para responder tu pregunta utiliza:

open(ERRORLOG,">/dev/null");

*STDERR=*ERRORLOG;




recuerda cerrar el filehandle al final del programa..

close(ERRORLOG);


de esta forma todo lo que se genere al STDERR va a ser enviado a /dev/null..

Tambien puedes sustituir /dev/null con otro archivo (para efectos de 
hacer seguimiento)

Salu2


Ernesto Hernandez-Novich wrote:

|On Fri, 14 Mar 2003, Luis M. Gallardo D. wrote:
|
|>Hackié (me disculpan la tropicalización) el script ldapsync.pl, que en
|>esencia sincroniza los passwords de Linux y de Samba, y tomé la forma
|>como utilizan los comandos de ldap-utils:
|
|[...]
|
|>Después de leer sobre la funcisn open(), entendí que el "|" que precede
|>al comando indica que se le va a pasar información a través de un pipe.
|>Hasta aquí todo chévere.
|>
|>El problema en si es que cuando se ejecuta dicho comando, éste imprime
|>los resultados de las modificaciones en el navegador :-(
|>
|>Quizás la forma de que no imprima los resultados en el navegador es
|>redireccionado la salida estandar, pero en Perl no he hallado la forma
|>de hacer esto. Lo que hice (y no me parece lo mas elegante) fue
|>redireccionar la salida estandar en el la invocación del comando, es 
decir:
|>
|>$FILE="|/usr/bin/ldapmodify -h $strLDAPHost -x -D '$strBindDn' -w 
$strBindPass > /dev/null";
|>
|>Si alguien puede decirme dónde puedo buscar información para
|>redireccionar la salida estandar se lo agradecerma mucho.
|
|
|Para lo que quieres hacer, esa es la manera.
|
|Siempre puedes hacer un fork() y en el hijo cerrar el canal stderr antes
|de hacer el exec(), pero es demasiado trabajo para una tontería que el
|shell puede hacer por tí.
|
|Mejor trabaja con Net::LDAP, es mucho más limpio.


- --
__________________________________________________________________
Francisco Jose Obispo Semidey  
System Administrator            
ccTLD .VE Technical Contact - http://www.nic.ve
CNTI - REACCIUN - http://www.cnti.ve    
Work: +58 212 709 5257
GPG Fingerprint: 23FE 02B7 2E9A 24DB 51F3  29CB 87CF 3C30 3236 D09D
___________________________________________________________________
MOTD:
hubub, hubub, HUBUB, hubub, hubub, hubub, HUBUB, hubub, hubub, hubub.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+dcwMh888MDI20J0RAqZXAKDGgqj0tAIg7i+ACMco8EydUgK/kgCeLS7z
JCGCZvGvj6kiR0KFJ5WrqEU=
=iaUG
-----END PGP SIGNATURE-----


------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list