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
?