bash变量周围有两层引号

时间:2013-07-18 14:53:06

标签: r bash

我编写了一个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中扩展?

2 个答案:

答案 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