expr(1) FreeBSD 一般コマンドマニュアル

expr

前のページ 上に戻る 次のページ

expr




解説

     expr は、与えられた式 expression を評価し、その結果を標準出力に書き出しま
     す。

     expr は、式で使われるすべての演算子を個別の引数として扱います。シェルが特
     殊キャラクタと解釈するような文字は、エスケープしておかなければなりませ
     ん。

     以下に、使える演算子を優先度の低い順に示します。同じ優先度の演算子は、{ }
     で括ってあります。

     expr1 | expr2
             expr1 が空の文字列でも 0 でもない場合は expr1 を評価した結果を返
             し、さもなければ expr2 を評価した結果を返します。

     expr1 & expr2
             expr1expr2 の各々の評価結果が、ともに空の文字列でも 0 でもな
             い場合は expr1 を評価した結果を返し、さもなければ 0 を返します。

     expr1 {=, >, >=, <, <=, !=} expr2
             expr1expr2 がともに整数ならば整数としての比較結果を返し、さも
             なければ文字列とみなして、ロカールに従った照合方法を用いた比較結
             果を返します。いずれの場合も、指定された関係が「真」ならば 1 を、
             「偽」ならば 0 を返します。

     expr1 {+, -} expr2
             整数値の引数に関して、加算あるいは減算した結果を返します。

     expr1 {*, /, %} expr2
             整数値の引数に関して、乗算、整数除算、または剰余の結果を返しま
             す。

     expr1 : expr2
             ``:'' 演算子は、 expr1expr2 のパターンマッチを行います。
             expr2 は、正規表現でなければなりません。またこの正規表現は、暗黙
             のうちに ``^'' が仮定されることにより、文字列の先頭から比較を始め
             ることになります。

             パターンマッチが成功した場合、もし正規表現中に少なくとも1つ
             ``\(...\)'' の形の部分正規表現が含まれていたならば、このうち
             ``\1'' に相当する文字列を返します。このような部分正規表現が含まれ
             ていなければ、マッチした文字列の長さを返します。またパターンマッ
             チが失敗した場合、もし部分正規表現が含まれていたならば空の文字列
             を返し、含まれていない場合は 0 を返します。

     丸括弧 ``()'' は通常と同じくグループ分けに用いることができます。


使用例

     1.   以下の例は、変数 a に 1 を足します。
                a=`expr $a + 1`

     sh(1), test(1)


規格

     expr ユーティリティは IEEE Std 1003.2 (``POSIX.2'') 準拠です。

FreeBSD 4.4                      July 3, 1993                      FreeBSD 4.4

ABELNET VPSサービス