请告知如何使用 eval 命令来打印参数值
例如
巴什
a=1
b=2
c=3
for i in ` echo a b c `
> do
> echo "$i=` eval $i ` "
> done
bash: a: command not found
a=
bash: b: command not found
b=
bash: c: command not found
c=
为什么我没有得到请求的输出(来自for
循环命令)
a=1
b=2
c=3
答案1
eval
本例中无需使用
eval $i
强制评估命令eval
的内容- 这就是您看到诸如报告之类的错误的原因i
b: command not found
更好的方法是使用 bash 打印参数值变量引用
for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3