如何使用 eval 命令打印参数值

如何使用 eval 命令打印参数值

请告知如何使用 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的内容- 这就是您看到诸如报告之类的错误的原因ib: command not found

更好的方法是使用 bash 打印参数值变量引用

for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3

相关内容