「[(テスト)文に引数が多すぎます。」

「[(テスト)文に引数が多すぎます。」

これはLinuxの最初の「if-else」スクリプトです。エラーが発生しました
[: 引数が多すぎます。

パスワード:

n=0
if [ $n % 2 -eq 0 ]
then
  echo "even number"
fi 

修正する方法。

ベストアンサー1

の数学演算bashはで行わなければなりませんarithmetic context。現在の実装では、[数学を実行しない引数として「$n」、「%」、「2」を提供します。以下は、数学演算を実行するコンテキストの例です。

if [ "$((n % 2))" -eq 0 ]

上記の例では、結果は$(())コマンドとして表示される前にシェルによって拡張されます[。次の呼び出しを削除することで簡単にできます[

if (( (n % 2) == 0 ))

おすすめ記事