在linux中嵌套for循环中调用可执行文件

时间:2013-02-18 01:07:38

标签: linux bash

我试图在嵌套的for循环中调用带有两个参数的可执行文件(我也用bash脚本编写)。我以为我正确地做了,但我的所有值都显示在文本文件中为0.即倾斜0角度0,即使值显然不是。我的代码是这样的:

for (( i=0; i <=3; i++)); do
    for (( j=0; j <= 3; j++ )); do
        ./solar_sim 'i' 'j' >> solarResults.txt
        echo -n "$i"
    done
    echo " "
done

`

solar_sim提供给我们并输出这样的一行,我将其写入文件:

10000 hours, angle: 0.00 degrees, temperature: 0.00 degrees C, total power: 119871.00 Watts 我在调用solar_sim时做错了什么?我也试过使用$ i和$ j

2 个答案:

答案 0 :(得分:2)

你的错误是这一行:

./solar_sim 'i' 'j' >> solarResults.txt

应该像这样重写:

./solar_sim "$i" "$j" >> solarResults.txt

此外,echo已足够,无需echo " "来打印换行符

答案 1 :(得分:-1)

看起来您忘记了“$”来取消引用i和j变量

./solar_sim "$i" "$j" >> solarResults.txt