拖车刘大友 發表於 2023-5-19 00:00:00

关于Linux命令行下的数学运算示例详解

<p>
        <span><strong>前言</strong></span></p>
<p>
        有几个有趣的命令可以在 Linux 系统下做数学运算: expr 、 factor 、 jot 和 bc 命令。</p>
<p>
        可以在 Linux 命令行下做数学运算吗?当然可以!事实上,有不少命令可以轻松完成这些操作,其中一些甚至让你大吃一惊。让我们来学习这些有用的数学运算命令或命令语法吧。</p>
<p>
        <span><strong>expr</strong></span></p>
<p>
        首先,对于在命令行使用命令进行数学运算,可能最容易想到、最常用的命令就是 expr ( 表达式 expression 。它可以完成四则运算,也可以用于比较大小。下面是几个例子:</p>
<p>
        <strong>变量递增</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_259635">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ count=0</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">$ count=`</code><code class="bash functions">expr</code> <code class="bash plain">$count + 1`</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash plain">$count</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">1</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        完成简单运算</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_855865">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">11 + 123</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">134</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">134 / 11</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">12</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">134 - 11</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">123</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">11 * 123</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash functions">expr</code><code class="bash plain">: syntax error &lt;== oops!</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">11 \* 123</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">1353</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">20 % 3</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">2</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>注意</strong></span>,你需要在 * 运算符之前增加 \ 符号,避免语法错误。 % 运算符用于取余运算。</p>
<p>
        下面是一个稍微复杂的例子:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_517511">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">participants=11</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">total=156</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">share=`</code><code class="bash functions">expr</code> <code class="bash plain">$total / $participants`</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">remaining=`</code><code class="bash functions">expr</code> <code class="bash plain">$total - $participants \* $share`</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash plain">$share</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">14</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash plain">$remaining</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">2</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        假设某个活动中有 11 位参与者,需要颁发的奖项总数为 156,那么平均每个参与者获得 14 项奖项,额外剩余 2 个奖项。</p>
<p>
        <strong>比较</strong></p>
<p>
        下面让我们看一下比较的操作。从第一印象来看,语句看似有些怪异;这里并不是 设置 数值,而是进行数字比较。在本例中 expr 判断表达式是否为真:如果结果是 1,那么表达式为真;反之,表达式为假。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_404599">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">11 = 11</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">1</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">11 = 12</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">0</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        请读作“11 是否等于 11?”及“11 是否等于 12?”,你很快就会习惯这种写法。当然,我们不会在命令行上执行上述比较,可能的比较是 $age 是否等于 11 。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_37380">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ age=11</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">$age = 11</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">1</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        如果将数字放到引号中间,那么你将进行字符串比较,而不是数值比较。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_736805">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash string">"11"</code> <code class="bash plain">= </code><code class="bash string">"11"</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">1</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash string">"eleven"</code> <code class="bash plain">= </code><code class="bash string">"11"</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">0</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        在本例中,我们判断 10 是否大于 5,以及是否大于 99。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_343131">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">10 \&gt; 5</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">1</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">expr</code> <code class="bash plain">10 \&gt; 99</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">0</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        的确,返回 1 和 0 分别代表比较的结果为真和假,我们一般预期在 Linux 上得到这个结果。在下面的例子中,按照上述逻辑使用 expr 并不正确,因为 if 的工作原理刚好相反,即 0 代表真。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_15332">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash preprocessor bold">#!/bin/bash</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash plain">-n </code><code class="bash string">"Cost to us&gt; "</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">read</code> <code class="bash plain">cost</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash plain">-n </code><code class="bash string">"Price we're asking&gt; "</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash functions">read</code> <code class="bash plain">price</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                         </div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash keyword">if</code> <code class="bash plain">[ `</code><code class="bash functions">expr</code> <code class="bash plain">$price \&gt; $cost` ]; </code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"We make money"</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash keyword">else</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"Don't sell it"</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash keyword">fi</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        下面,我们运行这个脚本:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_565489">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ .</code><code class="bash plain">/checkPrice</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">Cost to us&gt; 11.50</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">Price we're asking&gt; 6</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">We </code><code class="bash functions">make</code> <code class="bash plain">money</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        这显然与我们预期不符!我们稍微修改一下,以便使其按我们预期工作:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_634591">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash preprocessor bold">#!/bin/bash</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash plain">-n </code><code class="bash string">"Cost to us&gt; "</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">read</code> <code class="bash plain">cost</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash plain">-n </code><code class="bash string">"Price we're asking&gt; "</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash functions">read</code> <code class="bash plain">price</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                         </div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash keyword">if</code> <code class="bash plain">[ `</code><code class="bash functions">expr</code> <code class="bash plain">$price \&gt; $cost` == 1 ]; </code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"We make money"</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash keyword">else</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash spaces"> </code><code class="bash functions">echo</code> <code class="bash string">"Don't sell it"</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash keyword">fi</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>factor</strong></span></p>
<p>
        factor 命令的功能基本与你预期相符。你给出一个数字,该命令会给出对应数字的因子。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_185401">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ factor 111</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">111: 3 37</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ factor 134</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">134: 2 67</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">$ factor 17894</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">17894: 2 23 389</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">$ factor 1987</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">1987: 1987</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>注:</strong></span> factor 命令对于最后一个数字没有返回更多因子,这是因为 1987 是一个 质数 。</p>
<p>
        <span><strong>jot</strong></span></p>
<p>
        jot 命令可以创建一系列数字。给定数字总数及起始数字即可。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_893610">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ jot 8 10</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">10</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">11</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">12</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">13</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">14</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">15</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">16</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">17</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        你也可以用如下方式使用 jot ,这里我们要求递减至数字 2。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_903675">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ jot 8 10 2</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">10</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">9</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">8</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">7</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">5</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">4</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">3</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">2</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        jot 可以帮你构造一系列数字组成的列表,该列表可以用于其它任务。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_152176">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash keyword">for</code> <code class="bash plain">i </code><code class="bash keyword">in</code> <code class="bash plain">`jot 7 17`; </code><code class="bash keyword">do</code> <code class="bash functions">echo</code> <code class="bash plain">April $i; </code><code class="bash keyword">done</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">April 17</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">April 18</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">April 19</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">April 20</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">April 21</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">April 22</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">April 23</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>bc</strong></span></p>
<p>
        bc 基本上是命令行数学运算最佳工具之一。输入你想执行的运算,使用管道发送至该命令即可:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_843630">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"123.4+5/6-(7.89*1.234)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">113.664</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        可见 bc 并没有忽略精度,而且输入的字符串也相当直截了当。它还可以进行大小比较、处理布尔值、计算平方根、正弦、余弦和正切等。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_908743">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"sqrt(256)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">16</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"s(90)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code> <code class="bash plain">-l</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">.89399666360055789051</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        事实上, bc 甚至可以计算 pi。你需要指定需要的精度。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_201661">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"scale=5; 4*a(1)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code> <code class="bash plain">-l</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">3.14156</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"scale=10; 4*a(1)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code> <code class="bash plain">-l</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">3.1415926532</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"scale=20; 4*a(1)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code> <code class="bash plain">-l</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">3.14159265358979323844</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"scale=40; 4*a(1)"</code> <code class="bash plain">| </code><code class="bash functions">bc</code> <code class="bash plain">-l</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">3.1415926535897932384626433832795028841968</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        除了通过管道接收数据并返回结果, bc 还可以交互式运行,输入你想执行的运算即可。本例中提到的 scale 设置可以指定有效数字的个数。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_548497">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">bc</code> <code class="bash plain">1.06.95</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">This is </code><code class="bash functions">free</code> <code class="bash plain">software with ABSOLUTELY NO WARRANTY.</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">For details </code><code class="bash functions">type</code> <code class="bash plain">`warranty'.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">scale=2</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">3</code><code class="bash plain">/4</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">.75</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">2</code><code class="bash plain">/3</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">.66</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">quit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        你还可以使用 bc 完成数字进制转换。 obase 用于设置输出的数字进制。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_468171">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">bc</code> <code class="bash plain">1.06.95</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">This is </code><code class="bash functions">free</code> <code class="bash plain">software with ABSOLUTELY NO WARRANTY.</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">For details </code><code class="bash functions">type</code> <code class="bash plain">`warranty'.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">obase=16</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">16  &lt;=== entered</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">10  &lt;=== response</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">256  &lt;=== entered</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">100  &lt;=== response</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">quit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        按如下方式使用 bc 也是完成十六进制与十进制转换的最简单方式之一:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_469022">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"ibase=16; F2"</code> <code class="bash plain">| </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">242</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"obase=16; 242"</code> <code class="bash plain">| </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">F2</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        在上面第一个例子中,我们将输入进制( ibase )设置为十六进制( hex ),完成十六进制到为十进制的转换。在第二个例子中,我们执行相反的操作,即将输出进制( obase )设置为十六进制。</p>
<p>
        <span><strong>简单的 bash 数学运算</strong></span></p>
<p>
        通过使用双括号,我们可以在 bash 中完成简单的数学运算。在下面的例子中,我们创建一个变量,为变量赋值,然后依次执行加法、自减和平方。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_96550">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ ((e=11))</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">$ (( e = e + 7 ))</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash plain">$e</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">18</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                         </div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">$ ((e--))</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash plain">$e</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">17</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                         </div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">$ ((e=e**2))</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash plain">$e</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">289</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        允许使用的运算符包括:</p>
<blockquote>
        <p>
                + -     加法及减法<br>
                ++ --   自增与自减<br>
                * / %   乘法、除法及求余数<br>
                ^       指数运算</p>
</blockquote>
<p>
        你还可以使用逻辑运算符和布尔运算符:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_951834">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ ((x=11)); ((y=7))</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">$ </code><code class="bash keyword">if</code> <code class="bash plain">(( x &gt; y )); </code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">echo</code> <code class="bash string">"x &gt; y"</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash keyword">fi</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">x &gt; y</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                         </div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">$ ((x=11)); ((y=7)); ((z=3))</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">$ </code><code class="bash keyword">if</code> <code class="bash plain">(( x &gt; y )) &gt;&gt; (( y &gt; z )); </code><code class="bash keyword">then</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">echo</code> <code class="bash string">"letters roll downhill"</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash keyword">fi</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">letters roll downhill</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        或者如下方式:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_957078">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash keyword">if</code> <code class="bash plain">[ x &gt; y ] &lt;&lt; [ y &gt; z ]; </code><code class="bash keyword">then</code> <code class="bash functions">echo</code> <code class="bash string">"letters roll downhill"</code><code class="bash plain">; </code><code class="bash keyword">fi</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">letters roll downhill</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        下面计算 2 的 3 次幂:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_931431">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"2 ^ 3"</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">2 ^ 3</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash string">"2 ^ 3"</code> <code class="bash plain">| </code><code class="bash functions">bc</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">8</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>总结</strong></span></p>
<p>
        在 Linux 系统中,有很多不同的命令行工具可以完成数字运算。希望你在读完本文之后,能掌握一两个新工具。</p>
<p>
        好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
<p>
        原文链接:https://linux.cn/article-9642-1.html</p>
頁: [1]
查看完整版本: 关于Linux命令行下的数学运算示例详解