Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Captura de datos de TTY

7 views
Skip to first unread message

Bypper

unread,
Nov 2, 2009, 5:19:28 PM11/2/09
to
Muy buenas,

Se me presenta un problema un tanto estramb�tico que no se como atajar,
os cuento:

Tengo un script mio: MIO.SH que a su vez llama a otro: OTRO.SH. Este
script no debe arrojar nada por pantalla asi que le llamo con el t�pico
OTRO.SH 2>&1 > file.log habitual.

El problema es que aun as� sigue tirando info por pantalla. Y veo que el
OTRO.SH (QUE NO PUEDO MODIFICAR) llama a su vez a otro: OTRO2.SH.

Miro el OTRO2.SH (QUE TAMPOCO PUEDO MODIFICAR :-( y parece que esta
tirando info directamente contra la $tty.

Teniendo en cuenta que no puedo modificar mas que el MIO.SH...

Habr�a alguna forma de evitar esa salida por pantalla?

no se, se me ocurre capturar la info de la $tty, pero no se como. O
alguna otra opci�n?

NOTA: No se si importa pero mi script tiene BASH como interprete de
comandos, y los otros KSH.

gracias,
un saludo,

Jos� Luis P�rez Diez

unread,
Nov 3, 2009, 5:05:47 AM11/3/09
to
In article <gg24s6-...@apevia.bersol.sytes.net>, Bypper wrote:
> Teniendo en cuenta que no puedo modificar mas que el MIO.SH...
>
> Habr�a alguna forma de evitar esa salida por pantalla?
>
Lo puedes hacer usando un chroot o si $tty es una variable quizas sea
mas sencillo modificar el envirment que reciben los otros scripts.

--
Los programadores esta ocupados intendtado mejorar los programas a
prueba de idiotas. Mientras tanto el universo intenta mejorar los
idiotas. El universo va ganando

Gonzalo Pérez de Olaguer Córdoba

unread,
Nov 3, 2009, 5:38:51 AM11/3/09
to
Hola Bypper <byp...@microsoft.com>
el Mon, 02 Nov 2009 23:19:28 +0100 escribiste:

> Muy buenas,
>
> Se me presenta un problema un tanto estrambótico que no se como atajar,


> os cuento:
>
> Tengo un script mio: MIO.SH que a su vez llama a otro: OTRO.SH. Este

> script no debe arrojar nada por pantalla asi que le llamo con el típico


> OTRO.SH 2>&1 > file.log habitual.
>

> El problema es que aun así sigue tirando info por pantalla. Y veo que el


> OTRO.SH (QUE NO PUEDO MODIFICAR) llama a su vez a otro: OTRO2.SH.
>
> Miro el OTRO2.SH (QUE TAMPOCO PUEDO MODIFICAR :-( y parece que esta
> tirando info directamente contra la $tty.
>
> Teniendo en cuenta que no puedo modificar mas que el MIO.SH...
>

> Habría alguna forma de evitar esa salida por pantalla?


>
> no se, se me ocurre capturar la info de la $tty, pero no se como. O

> alguna otra opción?

No sé si te puede servir, pero el programa expect se usa para
dialogar con programas que se comunican vía tty.

--
Gonzalo Pérez de Olaguer Córdoba <gp...@iies.es> --- www.gpoc.es
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704

J.A. Gutierrez

unread,
Nov 5, 2009, 10:18:42 AM11/5/09
to
Bypper <byp...@microsoft.com> wrote:
: Muy buenas,

: Se me presenta un problema un tanto estramb�tico que no se como atajar,
: os cuento:

: Tengo un script mio: MIO.SH que a su vez llama a otro: OTRO.SH. Este
: script no debe arrojar nada por pantalla asi que le llamo con el t�pico
: OTRO.SH 2>&1 > file.log habitual.

Es que no es lo mismo "2>&1 > log" que "> log 2>&1"!

Hay que entender lo que se escribe:

2>&1 : dirige la stderr al mismo sitio que la stdout.
> log: dirige la stdout a log

Es decir, que de la primera forma le dices a la orden
que escriba stderr en el mismo sitio que stdout (tty) y
luego que la stdout a log (pero stderr se queda como esta).

Demostrazione in tempo di menuetto:

:~/ (echo foo >&2) > /dev/null 2>&1
:~/ (echo foo >&2) 2>&1 > /dev/null
foo

quesqueloquequeriqueriamosdemostrar

--
PGP and other useless info at \
http://webdiis.unizar.es/~spd/ \
finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes
ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)

Bypper

unread,
Nov 5, 2009, 3:06:37 PM11/5/09
to
J.A. Gutierrez escribi�:

> Bypper <byp...@microsoft.com> wrote:
> : Muy buenas,
>
> : Se me presenta un problema un tanto estramb�tico que no se como atajar,
> : os cuento:
>
> : Tengo un script mio: MIO.SH que a su vez llama a otro: OTRO.SH. Este
> : script no debe arrojar nada por pantalla asi que le llamo con el t�pico
> : OTRO.SH 2>&1 > file.log habitual.
>
> Es que no es lo mismo "2>&1 > log" que "> log 2>&1"!
>
> Hay que entender lo que se escribe:
>
> 2>&1 : dirige la stderr al mismo sitio que la stdout.
> > log: dirige la stdout a log
>
> Es decir, que de la primera forma le dices a la orden
> que escriba stderr en el mismo sitio que stdout (tty) y
> luego que la stdout a log (pero stderr se queda como esta).

si, si, lo se

redirijo la stderr al mismo sitio que la stdout y luego lo redirijo todo
al fichero

en condiciones normales, NADA debiera aparecer por pantalla, pero claro,
si que lo hacia, ya que desde el script OTRO.SH se estaba lanzando la
info directamente a la $tty.

0 new messages