在“批处理模式”下运行 R 时,该interactive
标志设置为 false,这会阻止任何类型的用户提示,这些提示会在嵌入/批处理设置的上下文中中断进程。看:
R -e 'interactive()'
使用时有些保持Rscript
。也可以使用交互包手动设置该标志。为了测试,我们可以尝试:
R -e 'install.packages("anything")
假设尚未设置 CRAN 镜像,install.packages
则不会显示一些交互式镜像选择器,而是抛出错误并退出。
但是,我注意到help
or?
命令仍然有效。例如,下面的命令将显示帮助浏览器,并且在我按 q 之前它不会继续。
R -e 'help(lm); 1+2'
但是,将输出发送到文件时,它不会显示交互式提示,而只是将完整的帮助文档转储到输出中:
R -e 'help(lm); 1+2' > output.txt
我现在对使用help
. 为什么即使 R 在批处理模式下运行,您也会获得交互式帮助浏览器?这是 Debian/Ubuntu 前端的功能R
还是来自 Debian/Ubuntu 前端?由于 R 等待使用输入,在内部调用函数(即 Rserve、RInside、JRI 等)时是否存在R
变得无响应的风险?help