当我运行此脚本时,我收到此警告。
./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"
答案 0 :(得分:2)
问题是<<something
表示 here-document 的开头。
但很可能这不是你想要做的,
但是使用单个<
进行文件的输入重定向。
你可能想写下这样的样子:
while read line
do
echo "$line" | ./recog
done < nameofpicture.txt
此循环将文件nameofpicture.txt
中的每一行传递给./recog
。
很可能你实际上并不需要循环, 可以将文件中的输入直接重定向到程序, 没有循环:
./recog < nameofpicture.txt