有没有办法将shell环境变量传递给Rscript。例如:
Rscript -e 'devtools::install_github("private/repo",auth_token = "$GITHUB_CRED")'
我试过这个,它只是传递了文字字符。我想知道是否还有另一种方式?
答案 0 :(得分:0)
似乎有点荒谬,但是:
echo $GITHUB_CRED > file.txt
Rscript -e 'devtools::install_github("private/repo",auth_token = readLines("file.txt"))'
我在jenkins构建中使用这个和docker-slaves-plugin这样我就可以将所有配置存储在与我的软件包存储库相关联的Dockerfiles中(干净构建)
答案 1 :(得分:0)
您是否尝试过使用Sys.getenv
?
Rscript -e 'devtools::install_github("private/repo", auth_token=Sys.getenv("GITHUB_CRED"))'
答案 2 :(得分:0)
在狭义的问题上:“是的,Rscript可以”:
edd@max:~$ SOME_VAR="some value" Rscript -e 'print(Sys.getenv("SOME_VAR"))'
[1] "some value"
edd@max:~$
至于处理GitHub凭据,可能通过适当的GitHub客户端提供更好的解决方案。您是否尝试过(优秀且推荐的)git2r包裹?