Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 重定向输出时出现Shell脚本错误_Unix_Shell - Fatal编程技术网

Unix 重定向输出时出现Shell脚本错误

Unix 重定向输出时出现Shell脚本错误,unix,shell,Unix,Shell,我对shell脚本有点怀疑 我有一个程序(a.out),我运行了几次,它将一个特定的值打印到终端上。我需要编写一个shell脚本来捕获这个程序的输出并添加输出 我写了下面的脚本 value=0 total=0 for((i=0;i<10;j++)) do value=`./a.out $i` total=`expr $total + $value` done echo value is $value total is $total value=0 总数=0 对于((i=0;i

我对shell脚本有点怀疑

我有一个程序(a.out),我运行了几次,它将一个特定的值打印到终端上。我需要编写一个shell脚本来捕获这个程序的输出并添加输出

我写了下面的脚本

value=0
total=0
for((i=0;i<10;j++)) 
do   
 value=`./a.out $i`
 total=`expr $total + $value`
done
echo value is $value total is $total
value=0
总数=0

对于((i=0;i),这里有几个用于处理浮点数学的bash函数:

看看这个例子,可能是这样的:

$tmp_total = $(float_eval "$value + $total")
$total = $tmp_total

大多数shell无法执行浮点运算,但您可以调用到
bc

add () { printf "%s + %s\n" $1 $2 | bc -l; }
total=0.0
for ((i=0; i<10; i++)); do
  total=$(add $total $(./a.out $i))
done
add(){printf”%s+%s\n“$1$2 | bc-l;}
总计=0.0

for((i=0;我想你是指for循环中的
i++
,而不是
j++
),而
/a.out
并没有给你一个双精度输出,而是给你一行文本(你可以将其存储为字符串,然后将其解释为数字)。