我有一个shell脚本,它从文件“input_file”中读取多行,前几行如下:
04fcgFs-mjA
0DZ7DbdeOeE
0yvHWyvexZA
1IAhDGYlpqY
1Vajuce8nyU
1Y_wJR1I-9s
2dn-ULkQl5M
2GmVajkqLNU
2X85PdfQqnM
37LAPz7pnQI
在脚本中,我有:
while read line
do
blabla .....
done< input_file
非常有趣的是,当脚本读取偶数行时,比如第二、第四、第六,第一个字符会丢失。例如,当它读取第二行时,得到的字符串是DZ7DbdeOeE
,而不是0DZ7DbdeOeE
。
我试图编写一个简单的脚本,只有:
while read line
do
echo $line
done< input_file
然后就可以正确读取了0DZ7DbdeOeE
。
由于我的shell脚本很长,所以我不在这里发布,但我认为内部代码与“input_file”无关。顺便说一句,有一些块像
if [condition]
continue
fi
所以我只想知道这种现象的潜在原因是什么?太奇怪了!
我已经在这个链接中发布了脚本内容:http: //goo.gl/Iwory