5

我正在寻找一种将输入从文件转储到终端的方法,但是当达到 EOF 时,我希望输入返回到我的键盘。有没有办法用 Bash(或任何其他常用的 *nix shell)来做到这一点?

详细信息:我正在调试一个执行分叉以启动子进程的服务器程序。每次我使用 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
4

3 回答 3

8

你可以这样做:

cat input_file - | program

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

于 2009-08-31T17:38:38.233 回答
1

也许期望是你想要的

于 2009-08-31T17:30:09.717 回答
0

也许使用中间文件?假设您要运行脚本 myscript.sh:

INPUT_FILE=input.txt
TEMP_FILE=`mktemp -t input`
myscript.sh < $TEMP_FILE &
cat $INPUT_FILE >> $TEMP_FILE
cat >> $TEMP_FILE
于 2009-08-31T17:35:05.777 回答