2017-10-10 98 views
-1

当我运行这个脚本时,我得到了这个警告。用OpenCV结尾文件分隔

./my.sh: line 8: warning: here-document at line 8 delimited by end-of-file (wanted `nameofpicture.txt') 

脚本:

#!/bin/bash 
g++ -o crop crop.cpp `pkg-config --cflags --libs opencv` 

g++ -o recog recog.cpp `pkg-config --cflags --libs opencv` 

./crop 

while read line 

do 

echo "$line" |./recog 

done <<"nameofpicture.txt" 

回答

2

的问题是,<<something表示这里文档的开始。 但很可能这不是你想要在这里做的, ,但使用单一的<从文件输入重定向。

你大概意思写的这个样子的,而不是:

while read line  
do 
    echo "$line" | ./recog 
done < nameofpicture.txt 

这个循环传递从文件nameofpicture.txt每一行./recog

最可能的是,你实际上并不需要一个循环, 可以从文件中输入重定向直接到程序, 没有环:

./recog < nameofpicture.txt