我有一个要在 schroot 环境中运行的程序。我可以像这样运行而不会出现错误:
user@precise:~$ schroot -c trusty
(trusty)user@precise:~$ myprogram.sh my.Rmd
但是,当我像下面这样一次性调用脚本时,它会失败:
schroot -c trusty -- myprogram.sh my.Rmd
错误信息:
Error in yaml::yaml.load(enc2utf8(string), ...) :
Scanner error: mapping values are not allowed in this context at line 2, column 7
Calls: render ... yaml_load_utf8 -> mark_utf8 -> <Anonymous> -> .Call
Execution halted
我认为不知何故,chroot 的环境变量没有为程序正确提供。
顺便说一下,这是程序:
#!/bin/bash
# myprogram.sh
# This is run inside a chroot
/usr/bin/Rscript -e "library(rmarkdown); render('$1', 'all')"