如何测试R是否作为Rscript运行?

Chr*_*ris 10 hadoop r rscript

我在单个R文件中有代码,我希望能够在开发期间在RStudio中获取源(即,定义我的函数等),并且还#! /usr/bin/env Rscript通过命令行使用语法运行(实际上,使用Hadoop).对于后者,我需要做的最后一件事就是Rscript开始分析(即,使用对main()函数的调用).对于前者,我不希望我的main()函数被调用.我希望能够测试代码是否在Rscript中运行(或者,在RStudio中运行),以便我可以执行main()或不执行.请问这可能吗?

一种解决方案是将我的代码分解为多个文件,但如果可能的话,我宁愿避免这种情况(使Hadoop的内容稍微容易一些).

提前致谢.

Jos*_*ich 10

您可以interactive用来测试R是否以交互模式运行. interactiveFALSE在Rscript和TRUE(大多数?)GUI下返回.