如何通过 Rscript 在 renv::run() 中使用变量

问题描述 投票:0回答:1

跟进这个问题:

来自茶匙的回答: 我相信比上述答案更简单的方法: Rscript -e 'renv::run("/path/to/myscript.R")' 它将从基本路径中获取 renv 环境。您还可以使用项目参数指定环境。

有没有办法使用变量来定义/path/?如果我有许多脚本引用相同的路径?

我尝试为 /path/ 定义一个变量,但是由于 bash 中的变量在单引号内不起作用,我不知道如何使其工作。

例如,说:

$SRC_DIR="/home/user/Rscript"

这些不起作用:

Rscript -e 'renv::run("$SRC_DIR""/to/myscript.R")'
Rscript -e 'renv::run("${SRC_DIR}""/to/myscript.R")'

Error: unexpected string constant in "renv::runn("${SRC_DIR}""/to/myscript.R""
r rscript renv
1个回答
0
投票

我刚刚测试过,这对我有用:

Rscript -e "renv::run(\"${SRC_DIR}/to/myscript.R\")"

我们可以转义 R

\"
中的引号(仅转义内部引号,而不转义外部引号),然后构建一个字符串,并在其中使用
SRC_DIR
sytnax 注入
${}

© www.soinside.com 2019 - 2024. All rights reserved.