当我尝试读取包含环境变量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中运行此命令时,相同的命令是对主机名进行编码。
这方面的任何线索都非常有用。
感谢。
答案 0 :(得分:0)
参数扩展不是递归的。展开$line
时,其值受路径名扩展(globbing)和分词限制,但不会进一步扩展参数。