我想从bash脚本的txt文件中读取变量名。
例如
我在终端中运行var="thanks"
我创建file.txt,而txt文件包含$var
我在终端中创建变量var2
。 var2=""
然后我在终端中运行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/