linux - 从txt文件中读取变量名

标签 linux bash

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

相关文章:

c - 写入 .txt 文件?

Python 无法正确运行 shell 命令

bash - 函数 bash 调用中的引号问题

bash - Docker-Compose中的唯一ID参数

linux - 将输出转换为 Excel 工作表的脚本

node.js - 如何在 NodeJS 中生成一个新进程并将 stderr 重定向到 stdout?

regex - 寻找正则表达式从/etc/passwd 中提取电子邮件地址

linux - 主机内存不足,使用稳定的JVM

linux - 如何使用node在Windows CMD中运行文件

java - 无法从 exec Java 方法运行 linux 命令