我想知道如何在知道变量名称时打印变量值。 我需要一点帮助把所有的东西放在一起。如何在bash中按名称打印变量的值
假设我有a = A和b = B。此外,我有文件中的a和b列表。我想打印
a=A
b=B
我与eval
测试,但我是不是不能做一个for循环。我想是因为我没能捕捉到的eval
结果...
,我可以把这样在一起,但它的气味......
设置
$ cat f.txt
a
b
$ a=A
$ b=B
执行
for n in `cat f.txt`
do
echo -n $n
eval echo \$$n
done
,并希望结果是
a=A
b=B
但如果我以后需要使用的值,它不会工作...
我不能做的是
val=`eval echo \$$n`
能够做到echo $val
以后。
你真的想读http://mywiki.wooledge.org/ DontReadLinesWithFor和[何时将引号围绕在shell变量上?](https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable) – tripleee
感谢您的链接,但我只是想保持简单... – Betlista
正确地做它并不复杂。 – tripleee