如何使用bash脚本将字符串重复输入到程序中?

时间:2019-05-06 10:27:32

标签: c bash

我有一个程序可以通过stdin接收输入。 就像“ 1 10”。

我想要做的是一个脚本,该脚本可以成千上万次地给出“ 1 10”字符串,因为我需要确保程序不会因大量数据而失败。

我似乎无法做到这一点……任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您可以在bash中使用for循环,并将结果通过管道传递到您的程序中:

for i in {1..1000}
do 
    echo "My input"
done | ./my_program

或者作为一行,可以直接在命令行中使用:

for i in {1..1000}; do echo "My input"; done | ./my_program

答案 1 :(得分:1)

这是一个无休止的循环:

while :; do echo "1 10"; done | consumer

或更不积极的版本:

while sleep 1; do echo "1 10"; done | consumer

答案 2 :(得分:1)

yes做到了。

$: yes 1 10 | head
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10

因此对于无限输入,

yes 1 10 | myProg

或者,如果您要限制,

yes 1 10 | head -99999 | myProg