文件读取不解释环境变量

时间:2016-11-12 04:03:49

标签: linux bash environment-variables

当我尝试读取包含环境变量HOSTNAME的文件时。 在读取文件时,它不会解释其值。

例如,如果我的主机名是 linux1.com 。 当我尝试读取

下面的示例文件(Test.txt)时
/var/log/$HOSTNAME

使用以下代码

while read line
do
ls -l $line
done < Test.txt

我希望它能够插入$ HOSTNAME变量并将其打印出来。但它没有用。它直接执行ls -l /var/log/$HOSTNAME,而不是

ls -l /var/log/linux1.com 

当我在shell中运行此命令时,相同的命令是对主机名进行编码。

这方面的任何线索都非常有用。

感谢。

1 个答案:

答案 0 :(得分:0)

参数扩展不是递归的。展开$line时,其值受路径名扩展(globbing)和分词限制,但不会进一步扩展参数。