我试图通过在我的Rmarkdown中使用filepath
代码块来删除定义为R变量bash
的文件夹路径。
从previous question以及Yihui' example跟进,我将变量filepath
传递到bash
块中,其中包含以下R代码块:
```{r}
Sys.setenv(FILEPATH = filepath)
```
虽然我能够在echo
块中bash
我的变量,但当我尝试rm -r
我的$FILEPATH
变量时出现错误。
```{bash}
echo $FILEPATH
rm -r $FILEPATH
```
〜/ Projects / test_threshold
rm:〜/ Projects / test_threshold:没有这样的文件或目录
我已经尝试直接在bash终端中分配我的变量以进行删除,并且它有效。
deletedir=~/Projects/test_threshold
rm -r $deletedir
对我做错了什么的任何建议?谢谢你的帮助!
答案 0 :(得分:2)
为什么不从R中删除它?
```{r}
system("rm -r $FILEPATH")
```
答案 1 :(得分:0)
使用绝对路径,例如/home/users/seanm/Projects/test_threshold
,而不是使用代字号(最好留给人类使用。)并始终引用您的变量。
使用此脚本查看出现问题的示例:
cd ~
mkdir foobar
ls ~/foobar
a="~/foobar"
echo "$a"
ls "$a"
你会看到这个输出:
~/foobar
-bash: cd: ~/foobar: No such file or directory