Bash 我可以从文件中提取一半输入,从终端中提取其余输入吗

Bash 我可以从文件中提取一半输入,从终端中提取其余输入吗,bash,user-input,file-io,Bash,User Input,File Io,我有一个可执行文件(grammer),当运行时从终端获取输入(facts),然后按Ctrl+D(EOF)结束。在这之后,程序再次开始接受另一个输入(查询)以结束我按Ctrl+D。 所以我要做的是从文件中输入事实,从终端中输入查询。 我试过了 ./grammer < facts.pl #this assumes that all the input is from file so program terminates after inputting only facts cat facts.

我有一个可执行文件(grammer),当运行时从终端获取输入(facts),然后按Ctrl+D(EOF)结束。在这之后,程序再次开始接受另一个输入(查询)以结束我按Ctrl+D。 所以我要做的是从文件中输入事实,从终端中输入查询。 我试过了

./grammer < facts.pl #this assumes that all the input is from file so program terminates after inputting only facts
cat facts.pl queries.pl | ./grammer #this merges both file and removes the EOF in between files 
/grammer
我是否可以按顺序输入多个文件,即在第一次结束时执行eof,然后从文件2开始输入


我能在文件实际结束之前输入EOF吗?

cat
concatenate
的缩写,因此两个输入文件之间的区别当然会丢失。如果
/grammer
无法通过将文件名作为参数传递来读取文件目录

./grammer facts.pl queries.pl
您需要为每个文件分别调用
/grammer

for f in facts.pl queries.pl; do
    ./grammer < "$f"
done
facts.pl querys.pl中f的
;做
/克<“$f”
完成