我有一个文件(test.txt),其中包含这样的行(逐字):
MyCode $Cores
在bash脚本中,我设置了$ Cores的值,所以我想使用此值从test.txt执行该行。我试过这个:
Cores=2
ProgramString=... read line from test.txt...
ProgramCommand=$(eval echo \$$ProgramString)
echo ${ProgramCommand}
${ProgramCommand}
输出是这样的:
$MyCode 2
它已成功用2替换$ Cores,但它在开头添加了一个美元符号,所以我当然得到了
$MyCode No such file or directory
任何人都可以解释这个额外的$来自哪里(以及如何摆脱它)?
答案 0 :(得分:1)
您将$
与\$
包括在一起。请改用ProgramCommand=$(eval echo $ProgramString)
。