let - 算術式を評価する

形式

説明

let は、 算術式 expression を左から右へ通常の代数優先順位 (例えば、加算の前に乗算) で評価します。let は、長整数演算を使用し、オーバーフローの検査を行いません。出力は生成されません。最後の expression 引数の値がゼロ以外の場合は 終了状況は 0、それ以外は 1 です。

以下の 2 行は同等です。2 番目の形式は引用符の使用を避けたもので、読みやすくなっています。これらの 2 つの形式は、POSIX 標準の拡張です。
let "expression"
((expression))
このコマンドの POSIX バージョンは以下のとおりです。
$((expression))

式は、名前付き変数、数値定数、および演算子から構成されます。名前付き変数の名前の文字は、POSIX ポータブル文字セットからのものである必要があります。

算術置換を参照してください。

以下に示すのは、let コマンドの 3 つの形式の例です。

  1. 例えば、
    let a=7
    echo $a
    を発行した場合、以下が作成されます。
    7
  2. 例えば、
    echo $((a=7*9))
    を発行した場合、以下が作成されます。
    63
  3. 例えば、
    ((a=3*4))
    echo $a
    を発行した場合、以下が作成されます。
    12

使用上の注意

let は、組み込みシェル・コマンドです。

ローカライズ

let は、以下のローカライズ環境変数を使用します。
  • LANG
  • LC_ALL
  • LC_MESSAGES
  • NLSPATH

詳しくは、ローカライズを参照してください。

終了値

0
最後の引数がゼロ以外の値であると評価された。
1
最後の引数がゼロ値であると評価されたか、または式に構文エラーが含まれていたかゼロで割ろうとした。

移植性

POSIX.2. let および ((expression))POSIX.2 標準の拡張 です。算術式評価の POSIX.2 移植可能機能は、$((expression)) です。詳細は、算術置換を参照してください。

((  )) 構文は、set –o korn オプションが有効な場合だけ作動します。

関連情報

exprshtest