2012-03-06 11 views
0

次のようにデータの解析と比較に問題があります。linuxを使用した解析済みデータの比較と 'if'またはwhileループでの比較の使用

thinningCriteria="$(cat thinningCriteria$j.k)" 
minThickElement="$(cat minimumThickness$j.k)"; 
d= "$(cat BHF$j.k)"; 
echo $d 
echo $minThickElement 
echo $thinningCriteria 

dの場合、次のようにerrrorが発生するため、これが最初の問題です。

d= "$(cat BHF$j.k)"; is on line 137 and the file has a value of 1000 

N o r m a l t e r m i n a t i o n 
./dynaOffenRigid.sh: line 137: 1000: command not found 

は第二に、私は次のようにエラーがあるこの場合

if (($minThickElement -lt $thinningCriteria)) 

then 

fi 

の下のような2つの値を比較しなければなりません。

999979 
986667 
./dynaOffenRigid.sh: line 147: ((: -lt 986667 : syntax error in expression (error token is "986667 ") 

the only value in BHF$j.k is 1000 
the only value in thinningCriteria$j.k is 999979 
the only value in minimumThickness$j.k is 986667 

私が比較しているときに何が間違っているのか、私のシェルにはエラーがあるのは分かりません。 すべて私にループ私は専門家からいくつかの提案を期待し

while [ $minThickElement -gt $thinningCriteria ] but same error. 

を使用しながらの使用を教えてください。私は解決策を見つけることができません。

よろしく

答えて

0

問題1: 変更

d= "$(cat BHF$j.k)"; 

d="$(cat BHF$j.k)" 

の問題2:

を試してみてください210
+0

dはもう一度コマンドが見つかりませんでした。私はd = "$(cat BHF $ j.k)"を使用しました echo $ d –

+0

@hamaskhan、私の行をコピーしましたか?あなたは '='の後に空白がありました。それを除く。 – Kent

+0

問題は私がループを使用していることです.jはカウンタなので、最初のループのBHF1とループ2のBHF2の値を取る必要があります。しかし、2つの$を混乱させると思います。 –

関連する問題