Bashにおける単純算術演算のまとめ

1272 ワード

Bashでは算術演算を行うには多くの実現方法があり、以下にまとめる.
  • Bashに組み込まれたletコマンド
  • let varName=exprの例:
    n1=3
    n2=4
    let sum=n1+n2
    n3=2
    n4=10
    n5=5
    let n1++
    let n2+=4
    let sum=\(\(n1+n2\)*n5\)*(n4-n3)

    式に括弧がある場合は、括弧を変換します.特に、式の演算オペレータの右側の括弧です.
  • $[expr]

  • varName=$[expr]例:
    n1=3
    n2=4
    sum=$[n1+n2]
    
    n3=2
    n4=10
    n5=5
    sum=$[((n1+n2)*n5)*(n4-n3)]
  • $((expr))

  • varName=$((expr))例:
    n1=3
    n2=4
    sum=$((n1+n2))
    
    n3=2
    n4=10
    n5=5
    sum=$((((n1+n2)*n5)*(n4-n3)))
  • exprコマンド
  • expr EXPRESSION、ここでEXPRESSIONは、n 1+n 2、n 1、C n 2、n 1>n 2、n 1=n 2等であり、詳細は、man exprコマンドであってもよい.特に、EXPRESSIONでは、各演算パラメータと演算オペレータの間にスペースがあり、演算パラメータは値参照で表示されます.例:
    n1=3
    n2=4
    sum=`expr n1 + n2`
     ,expr , .
  • ((expr))

  • 例:
    n1=3
    n2=4
    ((sum=n1+n2))
    
    n3=2
    n4=10
    n5=5
    ((sum=((n1+n2)*n5)*(n4-n3)))

     
    以上の算術演算では、演算式の変数パラメータに対して、変数パラメータを直接使用してもよいし、varが$varに等しいように参照してもよい.代入式の代入変数は除外されます.例:
    let sum=num 1+num 2はlet sum=$num 1+$num 2に等しい
    sum=$[num 1+num 2]はsum=$[$num 1+$num 2]に等しい
    sum=$((num 1+num 2))はsum=$((($num 1+$num 2))に等しい.
    ((sum=num 1+num 2))と同等((sum=$num 1+$num 2))
    また,以上のすべての算術演算実装方式は,浮動小数点精度演算をサポートせず,整数演算のみをサポートしている.