我想在 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/