为什么我的 shell 脚本使我的 C++ 程序输出 0?

Why does my shell script make my C++ program output 0?

我有一个正确编译的程序,它 运行 正确。我用它来计算一些东西,它 returns 花费了时间。如果我在终端中 运行 它,它只会将正确的结果放入文件中:

# use method1.txt to calculate a mastrix 
# whose length of the side is 50, 
# and put the result into result1.txt
> ./method1.exe 50 result1.txt
> cat result1.txt
5000    0.279

而我会得到正确的答案,也就是说计算了一个边长5000的矩阵,成本时间是0.279秒.


然而,当我运行这个程序多次使用shell sript 并改变矩阵的边长时,输出都是0

这是我的 shell 脚本文件:

# create txt file
TIME="$(date +%H_%M_%S)"
filename="result1_$TIME.txt"
touch $filename

# loop the program, till num reaches 100000
for ((i=100; i <= 10000; i = i + 100))
do
    ./method1.exe i $filename
    echo "loop finished for $i"
done;

结果如下:

amount\ttime
0   0
0   0
0   0

它们都是 0,谁能告诉我为什么?

./method1.exe i $filename 中,您忘记了 i 的美元:应该是 $i