これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド exprposix です。
プログラム:
NAME
expr — 引数を式として評価する
SYNOPSIS
式 オペランド...
DESCRIPTION
式 utility は式を評価し、結果を標準出力に書き込みます。
OPTIONS
なし。
オペランド
によって評価される単一の式 式 から形成されなければならない オペランド オペランド
詳細説明セクションで説明されています。 アプリケーションは、それぞれの
式演算子記号:
( ) | & = > >= < <= != + - * / % :
そしてシンボル 整数 & 文字列 表内の値は、
式.
標準入力
使用されていない。
入力 ファイル
なし。
ENVIRONMENT 変数
次の環境変数は、の実行に影響を与えます。 式:
言語 設定されていない、または設定されていない国際化変数のデフォルト値を指定します
ヌル。 (POSIX.1‐2008の基本定義ボリュームを参照してください。 セクション 8.2,
国際化 Variables 国際化の優先順位について
ロケールカテゴリの値を決定するために使用される変数。)
LC_ALL 空でない文字列値に設定されている場合は、他のすべての値を上書きします
国際化変数。
LC_COLLATE
範囲、同値類、および複数の動作のロケールを決定します。
正規表現内および文字列による文字照合要素
比較演算子。
LC_CTYPE テキストデータのバイトシーケンスを解釈するためのロケールを決定します
文字として(たとえば、のマルチバイト文字ではなくシングルバイト
引数) および正規表現内の文字クラスの動作。
LC_MESSAGES
の形式と内容に影響を与えるために使用する必要があるロケールを決定します
標準エラーに書き込まれる診断メッセージ。
NLSパス の処理のためのメッセージカタログの場所を決定します LC_MESSAGES.
非同期 イベント
デフォルト。
標準出力
式 ユーティリティは式を評価し、結果を書き込みます。
、標準出力へ。
標準
標準エラーは、診断メッセージにのみ使用されます。
出力 ファイル
なし。
拡張済み DESCRIPTION
評価される式の構成を次の表に示します。 の
を示すマークを追加しました 式, 式1, 式2 から形成される式を表す 整数 & 文字列
再帰によるシンボルと式演算子シンボル (すべて個別の引数)
表に記載されている構成の適用。 式は順番にリストされています
等優先度の演算子が水平方向にグループ化され、優先度が高くなります。
行。 すべての演算子は左結合でなければなりません。
┌────────────────┬──────────────────────────────── ──────────┐
│ 表現 │ 説明 │
├────────────────┼──────────────────────────────── ──────────┤
│式1 | 式2 │評価を返す 式1 なら│
│ │ null でもゼロでもない。 そうでなければ、│
│ │ の評価を返します 式2 なら│
│ │ null ではない。 それ以外の場合はゼロ。 │
├────────────────┼──────────────────────────────── ──────────┤
│式1 & 式2 │評価を返す 式1 もし │
│ │ どちらの式も null と評価されない │
│ │ ゼロ; それ以外の場合はゼロを返します。 │
├────────────────┼──────────────────────────────── ──────────┤
│ │ XNUMX 進整数の結果を返します │
│ │ 両方の引数が │ の場合の比較
│ │ 整数; それ以外の場合は、結果を返します │
│ │ ロケールを使用した文字列比較の │ │
│ │ 特定の照合順序。 結果│
│ │ 指定された場合、各比較の │ は 1 です │
│ │ 関係が true、または 0 の場合 │
│ │関係は偽です。 │
│式1 = 式2 │等しい。 │
│式1 > 式2 │より大きい。 │
│式1 >= 式2 │以上。 │
│式1 < 式2 │未満。 │
│式1 <= 式2 │ 以下。 │
│式1 != 式2 │等しくない。 │
├────────────────┼──────────────────────────────── ──────────┤
│式1 + 式2 │XNUMX進整数値の加算│
│ │ 引数。 │
│式1 - 式2 │XNUMX進整数値の減算│
│ │ 引数。 │
├────────────────┼──────────────────────────────── ──────────┤
│式1 * 式2 │ XNUMX 進整数値の乗算 │
│ │ 引数。 │
│式1 / 式2 │ XNUMX進整数の整数除算 - │
│ │ 整数を生成する値付き引数 │
│ │ 結果。 │
│式1 % 式2 │ XNUMX 進数の整数除算の剰余 │
│ │ 整数値の引数。 │
├────────────────┼──────────────────────────────── ──────────┤
│式1 : 式2 │マッチング表現; 下記参照。 │
├────────────────┼──────────────────────────────── ──────────┤
│( 式 ) │ グループ化記号。 どんな表現でも│
│ │ かっこ内に配置。 括弧 │
│ │ の深さまで入れ子にすることができます │
│ │ {EXPR_NEST_MAX}。 │
├────────────────┼──────────────────────────────── ──────────┤
│整数 │ のみで構成される引数 │
│ │ (オプション) 単項マイナスの後に │
│ │ 桁。 │
│文字列 │ 文字列引数。 下記参照。 │
└────────────────┴──────────────────────────────── ──────────┘
マッチング 表現
':' マッチング演算子は、の評価の結果の文字列を比較します 式1
の評価から得られた正規表現パターンで 式2。 レギュラー
式の構文は、POSIX.1-2008 の基本定義の巻で定義されているものでなければならない。
セクション 9.3, Basic レギュラー 式ただし、すべてのパターンは
文字列の先頭 (つまり、文字列の最初の文字から始まるシーケンスのみ)
文字列は正規表現によって一致する)、したがって、指定されていません。
'^' そのコンテキストでは特殊文字です。 通常、マッチング演算子は
一致した文字数を表す文字列 ('0' 失敗した場合)。 または、
パターンに少なくとも XNUMX つの正規表現部分式が含まれている "[\(...\)]"、文字列
後方参照式で一致 "\ 1" 返還されます。 後方参照の場合
表現 "\ 1" 一致しない場合、ヌル文字列が返されます。
文字列 オペランド
文字列引数は、文字列として識別できない引数です。 整数 引数またはとして
OPERANDS セクションに示されている式演算子記号の XNUMX つ。
文字列引数の使用 長さ, substr, indexまたは match 不特定の結果が生成されます。
EXIT ステータス
次の終了値が返されます。
0 表現 null にもゼロにも評価されません。
1 表現 null またはゼロに評価されます。
2 無効 表現.
> 2エラーが発生しました。
結果 OF エラー
デフォルト。
フォロー中 セクション 有益です。
お申込み USAGE
シェルによる引数処理後、 式 を伝えることができる必要はありません。
値以外の演算子とオペランドの違い。 もしも 「$a」 is '='
コマンド:
式 $a = '='
次のようになります。
式 = = =
引数が渡されるとき 式 (そして、それらはすべて '=' オペレーター)。 の
以下は確実に機能します:
式 X$a = X=
また、このボリュームの POSIX.1-2008 では、実装でユーティリティを拡張できることに注意してください。
式 utility では、整数引数の前に単項マイナスを付けることができます。 これ
整数引数がオプションのように見える可能性があることを意味します。 したがって、適合
アプリケーションは、 「-」 基本定義ボリュームのガイドライン 10 の構成
POSIX.1‐2008の セクション 12.2, ユーティリティ 構文 ガイドライン オペランドがある場合は保護する
最初のオペランドが負の整数 (または先頭に
マイナス)。
例
式 utility の構文はかなり複雑です。
* 演算子の多くは、シェル制御演算子または予約語でもあるため、
コマンドラインでエスケープします。
* 式の各部分は別々の引数で構成されているため、
文字が必要です。 例えば:
┌──────────────────┬────────────────────────┐
│ 「無効」 │ 有効な │
├──────────────────┼────────────────────────┤
│式 1+2 │ 式 1+2 │
│式 「1+2」│ 式 1+2 │
│式 1 + (2 * 3) │ 式 1 + \( 2 \* 3 \) │
└──────────────────┴────────────────────────┘
多くの場合、シェル コマンドの一部として提供される算術および文字列機能
言語は同等のものよりも使いやすい 式. 新しく書かれたスクリプトは
避ける 式 シェル内の新機能に賛成。 見る セクション 2.5, 計測パラメータ &
Variables & セクション 2.6.4, 算術 拡張.
次のコマンド:
a=$(expr $a + 1)
変数に 1 を追加します a.
次のコマンド 「$a」 どちらかに等しい /usr/abc/ファイル または単に file:
式 $a : '.*/\(.*\)' \| $a
パス名の最後のセグメントを返します (つまり、 file)。 アプリケーションは避けるべきです
文字 「/」 引数として単独で使用されます。 式 除算演算子として解釈される場合があります。
次のコマンド:
式 "//$a" : '.*/\(.*\)'
は、前の例をより適切に表しています。 の追加 「//」 文字
除算演算子に関するあいまいさがなくなり、式全体が単純化されます。
また、パス名には、 IFS 可変である必要があります
引用されることを避けるために 「$a」 複数の引数に展開します。
次のコマンド:
式 "$VAR" : 「.*」
の文字数を返します VAR.
理論的根拠
初期の提案では、一致する式の構文で ERE が使用されていました。 これは変更されました
歴史的なアプリケーションを壊さないようにBREに。
リーディングの使用多くの歴史的な
実装は、システムにもかかわらず、それを特殊文字として扱ってきました
ドキュメンテーション。 例えば:
式 foo : ^フー 式 ^フー : ^フー
これらのシステムでは、それぞれ 3 と 0 を返します。 彼らのドキュメンテーションは、
逆行する。 したがって、アンカー条件は未指定のままにして、歴史を壊さないようにします
この文書化されていない機能に依存するスクリプト。
未来 道順
なし。
onworks.net サービスを使用して exprposix をオンラインで使用する