私は200000回以上の反復を持つシェルスクリプトを持っています。ここに私に問題を与えているコードがあります:BASH '単項演算子が期待しています'
if [ 1 -eq `echo "$sums>$maxs" | bc` ] ;
then
hmax=$h;
kmax=$k;
maxs=$sums;
fi
sums、maxs、hおよびkは先に定義されています。私はhとkの異なる値をループしており、合計はそれらから計算されます。しかし、hとkの特定の値についてのみ、私はこのエラーを受け取ります:
(standard_in) 1: syntax error
./zhu-kanamori.sh: line 173: [: 1: unary operator expected
私はなぜそれが理解できません。私はいくつかの同様の質問を見ましたが、満足のいく答えを見つけることができませんでした。だから誰かが私がどこに解決策を導くことができるなら、それも素晴らしいだろう。私は2つのフロートを比較する方法についてはっきりしています。しかし、なぜ私はこのエラーが発生するのはなぜですか?
あなたの質問をより簡潔なものにしてください。お手数ですが、お手伝いします。 – Fred
さて、文脈のコード全体を追加しました。実際の質問はちょうど最初です。私は今それを変更するつもりです。 – Archon
'(standard_in)1:syntax error'は' bc'が出力するエラーです。明らかに、 '$ sums'と' $ maxs'はあなたが思うものではありません。 (つまり、単純な数字ではありません) –