Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在批处理模式下运行R-打印到屏幕?_R - Fatal编程技术网

在批处理模式下运行R-打印到屏幕?

在批处理模式下运行R-打印到屏幕?,r,R,跑步时 R CMD BATCH [options] filename.r 我想控制输出的打印位置。我可以使用以下命令抑制.Rout文件的创建: R CMD BATCH [options] filename.r /dev/null 但是,有可能将输出定向到屏幕上吗?比如当我经过的时候 R [options] < filename.r R[options]

跑步时

R CMD BATCH [options] filename.r
我想控制输出的打印位置。我可以使用以下命令抑制.Rout文件的创建:

R CMD BATCH [options] filename.r /dev/null
但是,有可能将输出定向到屏幕上吗?比如当我经过的时候

R [options] < filename.r
R[options]

尝试
Rscript
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
> 
biocreap1:Desktop vinceb$Rscript test.R
测试
BioCorap1:Desktop vinceb$R——无保存cat('测试\n')
测试
> 

我猜你是在linux上。是否已尝试重定向到/dev/console

编辑-从评论中添加信息-:

/dev/console显然不起作用,/dev/tty起作用。根据系统的不同,/dev/tty0也可能是一个选项


干杯

如果您运行
R CMD BATCH[options]filename.R
,然后运行
tail-f filename.Rout

谢谢-这是我一直在做的(使用输入重定向)方法,但希望模拟它的行为(它打印到屏幕的部分),那么您可以同时做这两件事(创建文件和在屏幕上打印)对于R CMD批处理-David Smith[notes][1],R CMD批处理有很多优点,我还使用了不支持输入重定向的emacs eshell。我也知道Rscript,但这需要我在头中添加一行,并使其可执行,等等[1]我上面测试的Rscript脚本中没有shebang:它只是
cat('test\n')
。如果您想用
/filename.R
运行它,而不是
Rscript filename.R
运行它,那么您只需要executable+shebang!这很好——但除了通过显式调用cat()或print()或write*()之外,屏幕上没有任何打印内容?我希望在
R中打印到屏幕上的内容——不保存
,或者在R CMD批处理案例中打印到文件上的注释……您可以看到
Rscript
出现错误时。试试类似于
lm('BUG
)`。嗯。。。是的,我明白了。。。并不总是指示错误的位置(在具有类似语句调用的长脚本中),将输入和输出打印到屏幕也是如此。也许这是最好的办法?啊!这就是我所希望的。。。但没有起作用。不过还是谢谢你。你也可以试试/dev/tty或dev/tty0,但也不能保证成功。我不能在这里测试,这台计算机上没有Linux可用。
/dev/tty
就是它!谢谢-请为Windows也回答此问题