2010-08-28 51 views
5

當運行以批處理模式運行R - 打印到屏幕?

R CMD BATCH [options] filename.r 

我想控制打印輸出,其中。我可以用

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

創建.Rout文件,但可以將輸出指向屏幕嗎?就像我運行它時一樣

R [options] < filename.r 

+0

對於Windows也請回答這個問題 – 2012-05-09 08:34:31

回答

3

想你是在Linux上。試過已經重定向到/ dev/console?

編輯-add從註釋信息 - :

的/ dev/console的顯然是不行的,的/ dev/tty的一樣。根據不同的系統爲/ dev/tty0可能是一個選項太

乾杯

+0

啊!這正是我所希望的......但沒有奏效。不過謝謝。 – hatmatrix 2010-08-30 12:34:26

+0

或者,您可以嘗試/ dev/tty或dev/tty0,但是也不能保證成功。我無法在這裏測試它,在這臺計算機上沒有可用的Linux。 – 2010-08-30 13:01:34

+0

'/ dev/tty'就是它!謝謝 - – hatmatrix 2010-08-30 23:15:59

2

嘗試RscriptR --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

謝謝 - 這是我一直在做的方式(使用輸入重定向),但是想用R CMD BATCH來模擬它的行爲(打印到屏幕的部分) - David Smith [注意] [1] R CMD BATCH有優勢,我也使用不支持輸入重定向的emacs eshell。而且我也知道Rscript,但是這需要我添加一行到頭文件並使其可執行,等等。 [1] http://blog.revolutionanalytics.com/2009/06/running-scripts-with- r-cmd-batch.html – hatmatrix 2010-08-28 23:38:16

+0

我在上面測試的Rscript腳本中沒有shebang:它只是'cat('test \ n')'。如果你想用'./file.R',而不是'Rscript filename.R'運行它,你只需要可執行文件+ shebang – Vince 2010-08-28 23:50:39

+0

啊!這很好 - 但除了通過顯式調用cat()或print()或write *()之外沒有任何內容可以打印到屏幕上?我希望在R -no-save hatmatrix 2010-08-29 00:16:58

1

你也許可以在同一時間(創建屏幕上的文件和打印)如果您運行一舉兩得R CMD BATCH [options] filename.r然後tail -f filename.Rout