Eval
3.2.8 Eval
Eval - 値が数値式として評価されるスクリプト変数を定義します。詳しくはNumeric Expressionsの章を参照してください。それ以外の動作はVarコマンドと全く同じです。
SYNOPSIS
eval<var_name_1>=<numeric_expression_1>\[<var_name_2>=<numeric_expression_2> ... <var_name_N>=<numeric_expression_N>].
赤色は必須パラメータ
オプション
変数名
変数の名前。大文字と小文字を区別し、スペースを含んではならない。
numeric_expression
数値式、または引数内のすべての変数呼び出しが解決された後に数値式になる文字列。空白を含む場合は、"1 + 1 "のように二重引用符で囲む必要がある。を参照してください。Numeric Expressions式の構文とサポートされている数値演算子の詳細については、このマニュアルの章を参照してください。
戻り値
バージョン2.3.2までのEvalコマンドは常に0(ゼロ)を返す。バージョン2.3.3以降では、数値式が正しく評価された場合は0を返し、式が評価できなかった場合(例えば、存在しない変数の呼び出しが含まれている場合)には0以外の値を返します。このメカニズムにより、値が正しく入力されたかどうかをテストし、_EXIT_CODEをチェックしてコードを分岐させることができます。if/else statementEXIT_CODE変数の値をチェックする。
例
評価 POSITION=2*(10+1)
値22の変数POSITIONを作成します。
Eval SUM={SUM}+10
if ({_EXIT_CODE} != 0) {
Exit 1
}
既存の変数SUMを10増やす。変数が存在しない場合、スクリプトは終了コード1で終了します。
Var A=1 B=2C=3
// Varが変数呼び出しを解決し、
// 文字列を 連結するので 、ABC1の値は "123+1 "という文字列になる。
Var ABC1="{A}{B}{C}+1"
// Evalが変数呼び出しを解決し、結果を評価するとき
// 数値表現として 、ABC2の値は "124 "となる。
Eval ABC2="{A}{B}{C}+1"
この例は、VarコマンドとEvalコマンドがどのように変数値を構築するかの違いを示しています。