我想从bash脚本的txt文件中读取变量名。
例如
我在终端中运行var="thanks"我创建file.txt,而txt文件包含$var我在终端中创建变量var2var2=""然后我在终端中运行var2=$(<file.txt)命令。
问题是

$ echo $var2
"$var"
我希望echo $var命令的输出为“谢谢”
$ echo $var2
"thanks"
所以我该怎么做?

最佳答案

如果仅将var放入文件中而不添加$和引号,则可以使用变量间接寻址。

var2=$(< file.txt)
var2=${!var2}
echo $var2
或者,如果您需要美元符号和引号,请在应用间接寻址之前使用参数扩展将其删除
var2=$(< file.txt)
var2=${var2#'"$'}
var2=${var2%\"}
var2=${!var2}
echo $var2

关于linux - 从txt文件读取变量名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64029805/

10-12 22:38