我有一个程序可以通过stdin接收输入。 就像“ 1 10”。
我想要做的是一个脚本,该脚本可以成千上万次地给出“ 1 10”字符串,因为我需要确保程序不会因大量数据而失败。
我似乎无法做到这一点……任何帮助将不胜感激。
答案 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