为什么';我的“.Rprofile”跑了吗?(在unix服务器上)

为什么';我的“.Rprofile”跑了吗?(在unix服务器上),r,R,在unix服务器上使用.Rprofile启动R会话时遇到问题。当我开始一项互动工作时,一切都很好。当我启动批处理作业时,它不会启动(批处理作业通过TORQUE启动,并分布在不同的节点上)。我检查了?启动,但我仍然不知道发生了什么。我的.Rprofile包含一个打印(…)行,只是为了确保,我以批处理模式运行了下面的测试作业.r文件。它告诉我,我在当前工作目录和用户目录中有一个.Rprofile文件(它们是相同的),并且它包含我的打印(…)代码。那么为什么R在启动时不运行.Rprofile文件呢 .

在unix服务器上使用
.Rprofile
启动R会话时遇到问题。当我开始一项互动工作时,一切都很好。当我启动批处理作业时,它不会启动(批处理作业通过TORQUE启动,并分布在不同的节点上)。我检查了
?启动
,但我仍然不知道发生了什么。我的
.Rprofile
包含一个
打印(…)
行,只是为了确保,我以批处理模式运行了下面的
测试作业.r
文件。它告诉我,我在当前工作目录和用户目录中有一个
.Rprofile
文件(它们是相同的),并且它包含我的
打印(…)
代码。那么为什么R在启动时不运行
.Rprofile
文件呢

.Rprofile

print('Hallo World!')
测试作业.r

profile1 = paste(getwd(),'/.Rprofile',sep='')
file.exists(profile1)
if(profile1) cat(readChar(profile1, 1e5))

profile2 = '~/.Rprofile'
file.exists(profile2)
if(file.exists(profile2)) cat(readChar(profile2, 1e5))
输出

> file.exists(paste(getwd(),'/.Rprofile',sep=''))
[1] TRUE
> if(file.exists(paste(getwd(),'/.Rprofile',sep=''))) cat(readChar(paste(getwd(),'/.Rprofile',sep=''), 1e5))
print('Hallo World!')
> 
> 
> file.exists('~/.Rprofile')
[1] TRUE
> if(file.exists('~/.Rprofile')) cat(readChar('~/.Rprofile', 1e5))
print('Hallo World!')
发件人:

请注意,R CMD本身并不使用任何R启动文件(在 特别是,用户和站点都不使用Renviron文件)


我认为这意味着批处理模式不读取
.Profile
文件。如果您想要它,我想您需要在
测试作业中显式地
source
它。r

听起来像是用命令参数
--无初始化文件
--vanilla
运行r。