我们在Linux服务器上运行,我需要在anaconda中运行R脚本。
如何通过shell脚本使用anaconda环境。
通过命令行:
$ source anaconda
$ Rscript <file.R>
工作正常。
如果anaconda已经使用以下.sh工作正常:
#!/bin/bash
PATH=$PATH:/usr/local/bin/anaconda
echo Rscript ./name.R
是否有以下版本:
#!/bin/bash
PATH=$PATH:/usr/local/bin
echo source anaconda; Rscript ./name.R
那会打开anconda并运行脚本吗?
我的蟒蛇位于./anaconda内。 我已经尝试将其设置为我的初始路径。
谢谢!
答案 0 :(得分:0)
我们缺少的是anaconda
文件的内容。我认为它会将Rscript
命令创建为别名,因为默认情况下,shell不会扩展别名,除非shell是交互式的。例如:
互动,一切都很好
$ cat > anaconda
alias Rscript='echo this is Rscript:'
$ source ./anaconda
$ Rscript foo bar
this is Rscript: foo bar
但在脚本中,我可以重现您的错误
$ cat > test.sh
#!/bin/bash
source ./anaconda
Rscript foo bar
$ bash test.sh
test.sh: line 3: Rscript: command not found
强制bash互动:
$ bash -i test.sh
this is Rscript: foo bar
试试这个:
#!/bin/bash
shopt -s expand_aliases
source /path/to/anaconda
Rscript ./name.R