2010-08-28 12 views
5

Cuando se ejecutaejecutando R en modo por lotes - ¿imprimir en pantalla?

R CMD BATCH [options] filename.r 

Quiero controlar donde se imprime la salida. Puedo suprimir la creación del archivo .Rout con

R CMD BATCH [options] filename.r /dev/null 

pero ¿es posible dirigir la salida a la pantalla? Al igual que cuando lo ejecuto por

R [options] < filename.r 

?

+0

Responda esto también para Windows –

Respuesta

3

supongo que estás en Linux. Ya intenté redireccionar a/dev/console?

Editar -add información a partir de los comentarios -:

/dev/consola al parecer no funciona,/dev/tty hace. Dependiendo del sistema,/dev/tty0 podría ser una opción también

Saludos

+0

¡Ah! Eso era lo que esperaba ... pero no funcionó. Gracias sin embargo. – hatmatrix

+0

Como alternativa, puede probar/dev/tty o dev/tty0, pero tampoco se garantiza el éxito. No puedo probarlo aquí, no tengo Linux disponible en esta computadora. –

+0

'/ dev/tty' era eso! Gracias - – hatmatrix

2

Trate Rscript o R --no-save < filename.R:

biocoreap1:Desktop vinceb$ Rscript test.R 
test 
biocoreap1:Desktop vinceb$ R --no-save < test.R 

R version 2.10.1 (2009-12-14) 
Copyright (C) 2009 The R Foundation for Statistical Computing 
ISBN 3-900051-07-0 

[...] 

[Previously saved workspace restored] 

> cat('test\n') 
test 
> 
+0

Gracias - así es como lo he estado haciendo (usando la redirección de entrada), pero quiero emular su comportamiento (la parte donde se imprime a la pantalla) con el R CMD BATCH - David Smith [notas ] [1] que hay ventajas para R CMD BATCH, y también uso emacs eshell que no admite la redirección de entrada. Y también sé de Rscript, pero eso requiere que agregue una línea al encabezado y la haga ejecutable, etc. [1] http://blog.revolutionanalytics.com/2009/06/running-scripts-with- r-cmd-batch.html – hatmatrix

+0

No hay shebang en el script Rscript que probé arriba: es simplemente 'cat ('test \ n')'. Solo necesitas ejecutable + shebang si quieres ejecutarlo con './Filename.R', no' Rscript filename.R' – Vince

+0

¡Ah! Eso está bien, pero no hay nada impreso en la pantalla excepto a través de llamadas explícitas a cat() o print() o write *()? Estoy esperando lo que se imprime en la pantalla en 'R --no-save hatmatrix

1

Usted puede hacer tal vez ambas cosas a la vez (creando el archivo y la impresión en pantalla) si ejecuta R CMD BATCH [options] filename.r y luego tail -f filename.Rout

Cuestiones relacionadas