0

だから、私は bash スクリプトに関してかなりの初心者ですが、今のところ tldp.org は良い友達です。とにかく、私は自分自身を混乱させ、明確化の助けを求めて多くのことを誓いました:私はそのような
MAXseeds=-1;のような変数を宣言します。sumS=0 スクリプトでさまざまなことを実行し、整数値である sumS の新しい値を取得します。次に、SUMS が大きい場合は MAXseeds と sumS を比較して、MAXseeds を sumS に等しくします。私はこれを行います:

  echo $MAXseeds      
  echo $sumS    
  if [ $MAXseeds -lt $sumS ];
  then 
     MAXseeds = $sumS
     best_file=$COUNT
  fi 
  echo $MAXseeds

これは機能するはずですが、スクリプトのこのセクションを実行したときに得られるターミナル出力は次のとおりです。

  -1
  492
  lookup.sh: line 34: MAXseeds: command not found
  -1

基本的に、私はここで何が間違っているのだろうか?command not found と応答するのはなぜですか? これが正しくない理由についての説明をいただければ幸いです。

4

1 に答える 1

2

これを試して:

if [ $MAXseeds -lt $sumS ];
then 
  MAXseeds=$sumS
  best_file=$COUNT
fi 

「=」の前後にスペースを入れないでください。

「MAXseeds」の後にスペースを入れると、コマンドとして解釈されます。もちろん、これはコマンドではないため、エラーメッセージが表示されます。

于 2013-03-06T13:52:02.097 に答える