我正在寻找一种方法将输入从文件转储到我的终端,但是当达到EOF时,我希望输入返回到我的键盘。有没有办法用Bash(或任何其他常用的* nix shell)来做到这一点?
详细说明: 我正在调试一个服务器程序,它执行一个fork来启动子进程。每次我用gdb启动调试会话时,我都要输入set follow-fork-mode child。我想使用某种输入重定向来预先填充这个。我还能想到其他一些用途,所以我更喜欢一般解决方案 - 因此这个问题 关于gdb的原因。
解决方案: 的 start-server.sh
#!/bin/bash
cat run-server.txt - |/bin/bash
生成-server.txt
gdb ./Server
set follow-fork-mode child
run
答案 0 :(得分:8)
你可以这样做:
cat input_file - | program
这将连接input_file
后跟stdin
到program
,我认为这就是你想要的。
答案 1 :(得分:1)
也许expect就是你想要的
答案 2 :(得分:0)
也许使用中间文件?假设您要运行myscript.sh脚本:
INPUT_FILE=input.txt
TEMP_FILE=`mktemp -t input`
myscript.sh < $TEMP_FILE &
cat $INPUT_FILE >> $TEMP_FILE
cat >> $TEMP_FILE