Linux环境变量替换

Linux环境变量替换

我有一个名为 NAME 的环境变量

export NAME="xyz"

在文件 test.txt 中,我有一行

name=$NAME

我读取了该文件并将该行分配给变量 y

y=`cat test.txt`

现在我正在打印变量 y

echo $y

name=xyz我怎样才能得到输出name=$NAME

答案1

我认为您需要eval针对这种特定用途进行实施。我将使用命令行进行解释:

  1. 导出 $ABC (与导出 $NAME 一样)

    $ grep ABC .bashrc
    export ABC="xyz"
    
  2. 在你的txt文件中设置变量

    $ cat test.txt
    name=$ABC
    
  3. 将 $y 变量设置为输出cat test.txt

    $ y=`cat test.txt`
    
  4. eval$y

    $ eval $y
    
  5. 现在名称已设置:

    $ echo $name
    xyz
    

相关内容