2

bash でスクリプトを書きたいのですが (bash でプログラミングを開始します)、エラーが発生しました。すべてを試してみましたが、これを修復する方法がわかりません。

#!/bin/bash
cap=0
cat|while read line
  do
  read a
    if[$a -gt $cap]
       then echo "MORE"
fi
done

これは簡単なスクリプトですが、私は bash の初心者です。誰か助けてください ;)

4

1 に答える 1

8

構文エラーは次のとおりです。

if[$a -gt $cap]

空白と引用符が必要です (スペースまたは空の値を含むコンテンツで安全を確保するため):

if [ "$a" -gt "$cap" ]

構文であり(コマンドである ではなく)、安全のために二重引用符を必要としない[[テストメカニズムを使用する方がいくらか良いでしょう:[

if [[ $a -gt $cap ]]

それよりも優れているのは、数学コンテキストを使用することです。これにより、従来の数学演算子を使用でき、変数を自動的に逆参照できます。

if (( a > cap )) ; then ...
fi
于 2012-05-01T17:16:48.627 に答える