【问题标题】:File read not interpreting Environment variables [duplicate]文件读取不解释环境变量[重复]
【发布时间】:2016-11-12 04:03:49
【问题描述】:

当我尝试读取包含环境变量 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 中运行此命令时,相同的命令正在解释主机名。

高度赞赏这方面的任何线索。

谢谢。

【问题讨论】:

    标签: linux bash environment-variables


    【解决方案1】:

    参数扩展不是递归的。 $line 扩展时,其值受路径名扩展(通配符)和分词的影响,但不受进一步参数扩展的影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-06
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2019-02-25
      • 2021-08-01
      • 1970-01-01
      相关资源
      最近更新 更多