日期:2014-05-16  浏览次数:20806 次

linux shell while读取文件报错

while...do 从文件中读取,报错。

脚本名:while_readFile.sh

脚本内容:

?

#!/bin/sh
while read LINE abc
do
    echo $LINE
done< <(cat ./a.txt)

?注意:两个< 之间有一个空格。

?

执行结果如下:

?

[root@localhost while]# ./while_readFile.sh

./while_readFile.sh: line 5: syntax error near unexpected token `('

./while_readFile.sh: line 5: `done< (cat ./a.txt)'

?

?

如果使用bash执行的话,就没问题:

?

[root@localhost while]# bash while_readFile.sh

11:22

aa:bbb

:cc

:dd

?

?

原来是因为 sh 不执行标蓝的用法。

脚本修改如下,以支持sh:

#!/bin/sh
while read LINE abc
do
    echo $LINE
done< ./a.txt

?