私はシェルbashスクリプトで非常に単純な比較を書いていますが、正しいことはありません:
カウント= 0
if [ expr $count/4 = 0 ]; then echo "yes"; else echo "no"; fi
いつもいいえ?
を使わないのですか?
あなたがexprプログラムを呼び出すには、実際に呼び出す必要があります:
if [ $(expr $count/4) = 0 ]; then echo "yes"; else echo "no"; fi
しかし、bashはそれを社内で行うことができます:
if (( $count/4 == 0 )); then echo "yes"; else echo "no"; fi
(())
$
if((count/4 == 0));エコー "はい"。 else echo "no"; fi
コマンド置換( $())を使用する必要があります。 またはバッククック)を使用して eval の式を評価します。また、整数比較には -eq を使用してください:
$())を使用する必要があります。
eval
-eq
if [ $(expr $count/4) -eq 0 ]; then echo "yes"; else echo "no"; fi
==
意図しない結果をもたらす。目的に合った比較演算子を使用することをお勧めします。
=
これはどう
[[ count/4 -eq 0 ]] && echo 'yes' || echo 'no'