Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向stdin以从文件中读取,同时将stdin保留为Bash中的输入_Bash_File Io - Fatal编程技术网

重定向stdin以从文件中读取,同时将stdin保留为Bash中的输入

重定向stdin以从文件中读取,同时将stdin保留为Bash中的输入,bash,file-io,Bash,File Io,我试图建立一个程序,要求用户输入所有的时间。为了测试这个程序(Xtreme编程),在每次测试中键入所有这些输入是一项巨大的工作。因此,我决定将输入写在一个文件中,并将stdin重定向到该文件,如 cat inputs.txt |/myprogram或/myprogram

我试图建立一个程序,要求用户输入所有的时间。为了测试这个程序(Xtreme编程),在每次测试中键入所有这些输入是一项巨大的工作。因此,我决定将输入写在一个文件中,并将stdin重定向到该文件,如

cat inputs.txt |/myprogram
/myprogram


到目前为止,这工作正常,但我希望能够在文件达到EOF后自己键入其他输入(之前也没什么关系),因此程序第一部分的输入(我已经知道正在工作)将自动写入,其余部分我可以键入。

cat
可以读取多个文件,包括使用名称“-”的标准输入:


如果
/myprogram
需要在当前shell中运行,事情就会变得更棘手。您可以使用流程替换:

./myprogram < <(cat inputs.txt -)
/myprogram
cat
可以读取多个文件,包括使用名称“-”的标准输入:


如果
/myprogram
需要在当前shell中运行,事情就会变得更棘手。您可以使用流程替换:

./myprogram < <(cat inputs.txt -)
/myprogram
Awesome,如果程序是否在当前shell中运行对我来说不是问题,那么我完全忘记了cat的减号运算符。谢天谢地,如果程序是否在当前shell中运行对我来说不是问题,那么我完全忘记了cat的减号操作符。谢谢
mkfifo p
cat inputs.txt - > p &
./myprogram < p