2017-03-31 52 views
0

我有一个程序要求输入,但需要一段时间才能加载。定时器上的管道输入

我需要一个bash脚本,将输出输出到命名管道。

我需要一个命令,会导致我的回声在程序提示输入后插入我的输入。这是我现在的命令,但它在提示之前输入输入。

echo "R" | nc localhost 123 > fifo 

这将导致以下的输出:

[email protected]: 
R 
Please enter in an input (R, Q, T): 

所以我的命令需要“等待”,直到我的程序中输入然后提示管道。有任何想法吗?这需要在bash脚本

+2

请考虑使用[expect](https://en.m.wikipedia.org/wiki/Expect)。这是专门为这个确切的场景 –

+0

现在看着它,谢谢你 –

回答

1

您可以使用sleep

(sleep 3; echo "R") | nc localhost 123 > fifo 

显然,这有一个竞争条件,因此对于工业应用,你应该使用expect代替。