我正在尝试编写一个基本的单行Linux Bash命令,它将1- 1000之间的所有数字作为exe程序的输入。
exe程序如下所示:
please insert 1: 1(wanted input)
please insert 2: 2(wanted input)
.
.
.
.
please insert 1000: 1000(wanted input)
success!因此,我尝试编写这个linux bash命令:
for((i=1;i<=1000;i+=1)); do echo "$i"|./the_exe_file; done但问题是,我的命令在每次迭代for...时都会打开exe文件。这意味着,只有第一个输入(1)是正确的。而且,由于某些原因,提供给exe文件的输入似乎不是很好。我能做些什么?我的错误在哪里?
提前谢谢。
发布于 2019-03-08 19:50:23
您要求在每次循环迭代中打开exe。如果你只需要打开它一次,那就把它从循环中去掉:
for((i=1;i<=1000;i+=1)); do echo "$i"; done | ./the_exe_file发布于 2019-03-08 22:50:16
同样,您可能会发现使用专门为此设计的工具更具可读性。
seq 1 1000 | ./the_exe_file发布于 2019-03-09 02:50:12
尝试
printf '%s\n' {1..1000} | ./the_exe_filehttps://stackoverflow.com/questions/55062367
复制相似问题