Shell脚本:读行错误时

Shell脚本:读行错误时,shell,Shell,我有一个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 然后它可以正确读取0DZ7DbdeOeE 由

我有一个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
然后它可以正确读取
0DZ7DbdeOeE

由于我的shell脚本很长,我不在这里发布它,但我认为内部代码与“input_文件”无关。顺便说一句,有些街区像

if [condition]
  continue
fi
所以我只想知道这种性高潮的潜在原因是什么?真奇怪

我已在此链接中发布了脚本内容:
您的
blabla
中的某些内容正在读取stdin,可能是为了查看它是否在终端或类似的设备上。确保在其中运行的所有外部进程的stdin都已从
/dev/null
重定向


当然,你可以通过评论你的
blablabla
的部分,看看行为何时改变,来弄清楚这是怎么回事。

我有疑问。我怀疑问题在于如何使用
$line
。你在
blabla中做什么…
?将
回音“$line”
放在大脚本的循环顶部,看看它是否正确。另外,如果您的shell支持该选项,那么您可以使用
read-r
(对于raw)。祝你好运。文件是温多泽寄来的吗?可能在行尾有一个模糊字符的
\r
。使用
dos2unix
在我的大脚本中,我将echo“$line”放在循环的顶部,结果正如我在原始帖子中所说的
if [condition]
  continue
fi