我编写了一个bash脚本,它创建了一系列R脚本。但是,我很难引用一个bash变量来回显R脚本作为要读入R的文件。我有
echo "loadings_file <- $loadings ; calls_file <- $file" | cat - template.R > temp && mv temp $scriptname
$ loadings和$ file是我希望R读入的文件。但是当我按原样运行它们时,它们最终会出现在R脚本中,没有引号,它们将R视为字符串。我如何确保它们在R中被引用但仍然首先在bash中扩展?
答案 0 :(得分:5)
echo "loadings_file <- '$loadings' ; calls_file <- '$file'"
如果您特别需要双引号:
echo "loadings_file <- \"$loadings\" ; calls_file <- \"$file\""
答案 1 :(得分:3)
您必须绕变量转义引号(\"
):
echo "loadings_file <- \"$loadings\" ; calls_file <- \"$file\"" | cat - template.R > temp && mv temp $scriptname