我在我的主文件夹下安装了R,并且我希望在向集群提交作业时调用新的R.群集节点都安装了CentOS。
这是我在.bash_profile和.bashrc中的配置:
if [ `lsb_release -i|cut -c17-20` == 'Cent' ] ; then
alias R='/home/XXX/R-3.0.2/bin/R'
alias Rscript='/home/XXX/R-3.0.2/bin/Rscript'
fi
我在.bash_profile中添加了以下内容:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
我还将此添加到提交的脚本中。
source $HOME/.bash_profile
我尝试使用qsub -I,它完美无缺。
但是,在我提交作业后,which R
仍显示原始路径!
如何正确设置环境?
答案 0 :(得分:2)
别名不会影响which
命令,例如:
$ which R
/usr/bin/R
$ alias R=/bin/date
$ R
Sun Jan 5 13:40:54 CET 2014 # as you see the alias works
$ which R # `which R` still returns the original path
/usr/bin/R
我认为您不想使用别名,而是希望将/home/XXX/R-3.0.2/bin
添加到PATH
:
PATH="/home/XXX/R-3.0.2/bin:$PATH"
在此之后,如果R
中存在Rscript
和/home/XXX/R-3.0.2/bin
,则:
which R
应该返回/home/XXX/R-3.0.2/bin/R
which Rscript
应该返回/home/XXX/R-3.0.2/bin/Rscript
首先在/home/XXX/R-3.0.2/bin
中找到它们,然后在其他$PATH
中的任何其他目录之前找到它们。