我想将stdin重定向到一个文件,但是一旦它完成该文件,就可以从键盘生成stdin。我知道如何定期重定向stdin,我只是不知道如何切换回来。我目前使用zsh,并且不愿意切换,但用bash标记,因为我不反对在bash中编写脚本。
答案 0 :(得分:1)
要使用文件foo
的输入然后从键盘执行bar
,请使用:
cat bar - | foo
当用户完成输入时,他必须在新行上键入ctrl-D以表示他输入的结束。
答案 1 :(得分:0)
您的问题实在太广泛,无法详尽解答,但这里有一项技术可以满足您的要求。
{ some commands; other commands; } <file
more commands # read stdin
您可以使用exec
和/或保存的文件描述符(暂时重复文件描述符0,重定向,然后从重复的文件描述符中恢复)执行类似的操作,但上面的操作相当透明。
如果您的要求不同,请更新您的问题以正确描述您的问题。