[: シェルに `]' エラーがありません。 []のコードの前後にスペースがあります。

[: シェルに `]' エラーがありません。 []のコードの前後にスペースがあります。

パスワード:

if [ $mintemp -ge 15 && $maxtemp -le 28 ]; then echo "nice day"; fi

[と$Mintemp、28と]の間にはすでにスペースがあります。

しかし、エラーが発生し続けます。

ベストアンサー1

&&引数ではなく[][実際にはプログラムなので)最初のコマンドが成功した場合は、2番目のコマンドを実行するBash演算子です。したがって、bashの場合、スクリプトは次のようになります。

if ([ $mintemp -ge 15) && ($maxtemp -le 28 ]; then echo "nice day"; fi)

これは無効です。しかし、次のようにすることができます。

if [ $mintemp -ge 15 ] && [ $maxtemp -le 28 ]; then echo "nice day"; fi

おすすめ記事