我有一个字符串,其中包含我想在bash脚本中执行的命令。我怎样才能做到这一点? 对不起这么基本的问题,但我是bash的新手。 这是我的代码:
echo "What is the path to save the result files?"
read out_path
end_cm1=$"fastqc -o "$out_path$" --noextract -fastq "$files1
我想执行end_cm1变量中的指令。
答案 0 :(得分:3)
首先,您根本不必将该命令放在字符串中:您可以这样做:
fastqc -o "$out_path" --noextract -fastq $files1
(我建议将$out_path
放在引号中以防路径中有空格。我没有将$files1
放在引号中因为你的变量是复数所以我假设还有更多不止一个;你也应该注意这些文件名中的空格。)
其次,您提出的问题的答案是eval
:
eval $end_cm1
答案 1 :(得分:0)
您的字符串中只有轻微的语法问题:
end_cm1="fastqc -o $out_path --noextract -fastq $files1"
$enc_cm1
话虽如此,@是正确的,不需要分配这个
首先是一个字符串,以及所涉及的风险
不引用$files1
。