我正在解析Bash中的一些.html
文件。我用以下内容阅读输入:
while read line
do
echo $line
...do something...
done < $file
现在我已经看到了一些非常奇怪的东西。文件中的某些行包含类似
的行Resolution…: 720 * 576
但是bash给了我这个:
Resolution…: 720 mysript.sh another_script.pl 576
Bash将* char
扩展为实际目录的内容。如何在不扩展的情况下逐行阅读文本。
答案 0 :(得分:9)
扩展发生在echo
,而不是read
,你应该引用你的输出:
echo "$line"
答案 1 :(得分:5)
您应该使用-r选项
读取您的文件while read -r line
do
echo "$line"
#..do something...
done < "$file"