Bash中的临时输入重定向

时间:2009-08-31 17:25:42

标签: bash shell input redirect stdin

我正在寻找一种方法将输入从文件转储到我的终端,但是当达到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

3 个答案:

答案 0 :(得分:8)

你可以这样做:

cat input_file - | program

这将连接input_file后跟stdinprogram,我认为这就是你想要的。

答案 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