抱歉,如果这看起来像一个愚蠢的问题,但我只是学习bash脚本。对于一个学校项目,我们需要编写一个运行在Unix上的RTX。它在终端中作为进程运行,接收用户输入,然后将其打印到屏幕上。我想编写一个bash脚本来测试它是否可以响应大量快速用户输入而不会溢出或失败。
我的主要问题是,一旦RTX启动,bash脚本将停止在那一行,直到RTX终止,然后才将循环打印到终端(而不是像我想要的那样打印到RTX提示符)。
我已经尝试在后台运行RTX,但没有工作。我需要找到一种方法来重定向输入到RTX,而它仍然与bash脚本运行。谷歌搜索没有找到我能理解/能适应的例子。任何帮助都是感激的。
#!/bin/bash
# declare STRING variable
STRING="RTX Worked =D"
#Start the rtx in a new process, stuck on this line until rtx terminates.
./main
#Somehow redirect io to the rtx.
for i in `seq 1 100`;
do
echo $i
echo " n"
done
echo $STRING
您可以在bash中运行协进程,然后通过管道向协进程发送命令。
请参阅Bash手册下的coproc子命令
我已经做了一段时间了,我失去了我的例子,但是像
coproc RTX ./main
for i in 'seq 1 100`;
do
echo $i >&{RTX[1]}
done