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、実際のディレクトリの内容に展開します。展開せずにテキストを1行ずつ読むにはどうすればよいですか。

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 に答える