1

我正在解析.htmlBash 中的一些文件。我读了输入:

while read line 
do
   echo $line
   ...do something...
done < $file

现在我经历了一些真正奇怪的事情。文件中的某些行包含类似

Resolution…: 720 * 576

但是 bash 给了我这个:

Resolution…: 720 mysript.sh another_script.pl 576

Bash 将 扩展为* char实际目录的内容。如何在不扩展的情况下逐行阅读文本。

4

2 回答 2

9

扩展发生在 中echo,而不是在 中read,您应该引用您的输出:

echo "$line"
于 2009-12-11T15:28:10.943 回答
5

你应该像这样阅读你的文件,使用 -r 选项

while read -r line 
do
   echo "$line"
   #..do something...
done < "$file"
于 2009-12-11T23:41:30.340 回答