2014-02-08 240 views
0

我有一个exe文件通过g++编译,它需要一个数字作为输入并给出一些数字作为输出。 现在,我需要编写一个bash脚本来循环它从1到10,并获得输出在10个单独的文件。从变量获取输入并输出到bash中的文件

我知道如何从文件中输入并给予相应的输出到文件:

./a.exe <in.txr >out.txt 

但是,我需要的是这样的:

for ((iter=1; iter<=5; iter++)) 
do 
    ./a.exe (take input as $iter) >$iter.txt; 
done 

我该怎么办呢?我读了关于read命令。我把它放在哪里。 PS:我是bash脚本的新手。

+0

是否'a.exe'期待一个命令行参数,还是会从标准输入读取?两者不一样。 – chepner

+0

基本上我的cpp文件里有一个'scanf'。那是什么意思? – Ranveer

+0

这听起来像标准输入,但如果您有选择,则应该修改程序以改为使用单个命令行参数。 – chepner

回答

0

你需要一个Herestring

for ((iter=1; iter=<10; iter++)) 
do 
    ./a.exe <<< $iter > $iter.txt 
done 
+0

我想知道为什么我从来没有在Google上找到它。 – Ranveer

+1

那么你现在会:) –