expr基本的な合計を行うコマンドの例 | |
| 原作者 | ディック・ヘイト ( AT&T ベル研究所) |
|---|---|
| 開発者 | さまざまなオープンソースおよび商用開発者 |
| 初回リリース | 1979年 |
| オペレーティング·システム | Unix、Unix ライク、IBM i |
| プラットフォーム | クロスプラットフォーム |
| タイプ | 指示 |
expr は、UnixおよびUnix 系オペレーティング システム上のコマンドラインユーティリティであり、式を評価して対応する値を出力するものです。Unix v7で初めて登場しました。このコマンドは、一般的なGNU Unix 系ユーティリティのネイティブWin32ポートであるUnxUtilsコレクション[1]の一部としてMicrosoft Windowsで使用できます。 [2] exprコマンドは、 IBM iオペレーティング システムにも移植されています。[3]
概要
expr は、パターン マッチング正規表現を含む整数または文字列式を評価します。式内の各シンボル (演算子、値など) は、個別のパラメーターとして指定する必要があります。式を記述する際に発生する課題のほとんどは、呼び出し元のコマンド ライン シェルが、 exprが処理する文字に対して動作しないようにすることです。
構文
構文: expr式
利用可能な演算子
- 整数の場合:加算、減算、乗算、除算、剰余
- 文字列の場合: 正規表現に一致します。一部のバージョンでは、文字列内の文字セットを検索 ("index")、部分文字列を検索 ("substr")、文字列の長さを検索 ("length")
- いずれの場合も: 比較 (等しい、等しくない、より小さいなど)
例
式の長さ "abcdef" "<" 5 "|" 15 - 4 ">" 8
この例では、「1」が出力されます。これは、長さ「abcdef」が 6 であり、5 未満ではないためです (したがって、| の左側は 0 を返します)。ただし、15 から 4 を引くと 11 となり、8 より大きいため、右側は真となり、またはが真となり、結果は 1 になります。この例では、 プログラムの終了ステータスは 0 です。
純粋な算術演算の場合は、 bc を使用する方が便利な場合がよくあります。例:
エコー "3 * 4 + 14 / 2" | bc
式を単一の引数として受け入れるからです。
移植可能なシェル プログラミングでは、「index」、「length」、「match」、および「substr」コマンドの使用は避ける必要があります。文字列の一致は可能ですが、「string : regexp」構文を使用する必要があります。
参照
参考文献
外部リンク
- : 引数を式として評価する – シェルおよびユーティリティ リファレンス、The Single UNIX 仕様、バージョン 4、The Open Group
- GNU coreutils マニュアルの expr 呼び出し
