0

したがって、私はこれを python と bash の両方で実行しました。投稿しようとしているコードには、おそらくさまざまな問題がありますが、一般的には非常に基本的なものであり、この「バグ」を引き起こす理由がわかりません。すぐに説明します..私はPythonで同じことをしましたが、はるかに専門的かつクリーンで、このエラーも発生します(ある時点で、数学は負の数を生成しますが、これは意味がありません.)

#!/bin/bash
while [ 1 ];
do

zero=0
ARRAY=()
ARRAY2=()

first=`command to generate a list of numbers`
sleep 1
second=`command to generate a list of numbers`

# so now we have two data sets, 1 second between the capture of each.

for i in $first;
do
ARRAY+=($i)
done

for i in $second;
do
ARRAY2+=($i)
done

for (( c=$zero; c<=${#ARRAY2[@]}; c++ ))
do
expr ${ARRAY2[$c]} - ${ARRAY[$c]}
done

ARRAY=()
ARRAY2=()
zero=0
c=0
first=``
second=``
math=''

done

したがって、スクリプトは一連のデータを取得し、1 秒待ってから再度取得し、2 つのデータセットの計算を行って差を取得します。その差が出力されます。それは非常に単純で、私はPythonでもエレガントにそれを行いました.3ループから30ループまでのどこにでもある可能性があります..次のように:

開始 0 0 0 0 0 19 10 563 0 -34 19 14 2 0 -1302 1198 -532 639 -1078 1119 1 0 0 -843 33 880 0 5 -8 -13508 8773 4541 988 181 -12 -205 217 -9 7 1 -360 303 60 1 0 0 -12 -96 98 3 -870 904 -130 -2105 2264 6 -3084 1576 1650 -939 971 -2249 1150 1281

-693 9 513 142 76 expr: 構文エラー

助けてください、これについて何も見つかりません。

要求に応じたサンプル出力:

ARRAY1 OUTPUT
1 15 1 25 25 1 2 1 3541 853 94567 42 5 1 351 51 1 11 1 13 7 14 12 3999 983 5 1938 3 8287 40 1 1 1 5253 706 1 1 1 1 5717 3 50 1 85 100376 17334 4655 1 1345 2 1 16 1777 1 3 38 23 8 32 47 781 947 1 1 206 9 1 3 2 81 2602 7 158 1 1 43 91 1 120 6589 6 2534 1092 1 6014 7 2 2 37 1 1 1 80 2 1 1270 15448 66 1 10238 1 10794 16061 4 1 1 1 9754 5617 1123 926 3 24 10 16
ARRAY2 OUTPUT
1 15 1 25 25 1 2 1 3555 859 95043 42 5 1 355 55 1 11 1 13 7 14 12 4015 987 5 1938 3 8335 40 1 1 1 5280 706 1 1 1 1 5733 3 50 1 85 100877 17396 4691 1 1353 2 1 16 1782 1 3 38 23 8 32 47 787 947 1 1 206 9 1 3 2 81 2602 7 159 1 1 43 91 1 120 6869 6 2534 1092 1 6044 7 2 2 37 1 1 1 80 2 1 1270 15563 66 1 10293 1 10804 16134 4 1 1 1 9755 5633 1135 928 3 24 10 16
START
4

2 に答える 2