Linuxコマンド虎の巻

expr

exprは、計算式や論理式などの式を評価するコマンドです。

構文

(構文)
expr <式> expr [オプション]
【オプション】
オプション説明
--helpコマンドのヘルプを表示する
--versionコマンドのバージョンを表示する

【式】
説明
a < btrueの場合は1、falseの場合は0
a <= btrueの場合は1、falseの場合は0
a > btrueの場合は1、falseの場合は0
a >= btrueの場合は1、falseの場合は0
a == btrueの場合は1、falseの場合は0
a != btrueの場合は1、falseの場合は0
a + b足す
a - b引く
a * b掛ける
a / b割る
a % b余り

サンプル

例)1 + 2 の結果を表示する

$ expr 1 + 2 3

例)1 - 2 の結果を表示する

$ expr 1 - 2 -1

例)10 ÷ 2 の結果を表示する

$ expr 10 / 2 5

例)10 x 2 の結果を表示する

$ expr 10 '*' 2 20

*を''で囲わないと、エラーとなります。(expr: syntax error)

$ expr 10 \* 2 20

*の前に\を付けてもOKです。

例)2 < 3 の結果を表示する

$ expr 2 '<' 3 1

<を''で囲わないと、エラーとなります。

例)2 <= 3 の結果を表示する

$ expr 2 '<=' 3 1

<=を''で囲わないと、エラーとなります。

例)2 == 3 の結果を表示する

$ expr 2 == 3 0

例)2 != 3 の結果を表示する

$ expr 2 != 3 1

例)3 != 3 の結果を表示する

$ expr 3 != 3 0

例)1 + 2 x 3 の結果を表示する

$ expr 1 + 2 '*' 3 7

例)(1 + 2) x 3 の結果を表示する

$ expr '(' 1 + 2 ')' '*' 3 9

カッコや*を''で囲わないと、エラーとなります。

例)文字列「ABCDEFG」の文字数を表示する

$ expr length 'ABCDEFG' 7

備考

  • *、<、>、<=、>=、(、) ⇒ これら記号は''で囲う必要があります。
    (または、\を付けてもOKです。「expr 3 \* 2」)
  • 式に使用する記号の前後には半角スペースが必要です。
    例)〇:expr 1 + 2 ×:expr 1+2