• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Shell脚本编程中常用的数学运算实例

    这部分主要讨论数学相关的shell脚本编程。

    加法运算

    新建一个文件“Addition.sh”,输入下面的内容并赋予其可执行的权限。

    复制代码 代码如下:
    #!/bin/bash
    echo “Enter the First Number: ”
    read a
    echo “Enter the Second Number: ”
    read b
    x=$(expr "$a" + "$b")
    echo $a + $b = $x

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi Additions.sh
    [root@tecmint ~]# chmod 755 Additions.sh
    [root@tecmint ~]# ./Additions.sh
     
    “Enter the First Number: ”
    12
    “Enter the Second Number: ”
    13
    12 + 13 = 25

    减法运算

    复制代码 代码如下:

    #!/bin/bash
    echo “Enter the First Number: ”
    read a
    echo “Enter the Second Number: ”
    read b
    x=$(($a - $b))
    echo $a - $b = $x

    注意:这里我们没有像上面的例子中使用“expr”来执行数学运算。

    输出结果:

    复制代码 代码如下:

    [root@tecmint ~]# vi Substraction.sh
    [root@tecmint ~]# chmod 755 Substraction.sh
    [root@tecmint ~]# ./Substraction.sh
     
    “Enter the First Number: ”
    13
    “Enter the Second Number: ”
    20
    13 - 20 = -7

    乘法运算

    复制代码 代码如下:

    #!/bin/bash
    echo “Enter the First Number: ”
    read a
    echo “Enter the Second Number: ”
    read b
    echo "$a * $b = $(expr $a \* $b)"

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi Multiplication.sh
    [root@tecmint ~]# chmod 755 Multiplication.sh
    [root@tecmint ~]# ./Multiplication.sh
     
    “Enter the First Number: ”
    11
    “Enter the Second Number: ”
    11
    11 * 11 = 12

    除法运算

    复制代码 代码如下:

    #!/bin/bash
    echo “Enter the First Number: ”
    read a
    echo “Enter the Second Number: ”
    read b
    echo "$a / $b = $(expr $a / $b)"

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi Division.sh
    [root@tecmint ~]# chmod 755 Division.sh
    [root@tecmint ~]# ./Division.sh
     
    “Enter the First Number: ”
    12
    “Enter the Second Number: ”
    3
    12 / 3 = 4

    数组

    下面的这个脚本可以打印一组数字。

    复制代码 代码如下:

    #!/bin/bash
    echo “Enter The Number upto which you want to Print Table: ”
    read n
    i=1
    while [ $i -ne 10 ]
    do
    i=$(expr $i + 1)
    table=$(expr $i \* $n)
    echo $table
    done

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi Table.sh
    [root@tecmint ~]# chmod 755 Table.sh
    [root@tecmint ~]# ./Table.sh
     
    “Enter The Number upto which you want to Print Table: ”
    29
    58
    87
    116
    145
    174
    203
    232
    261
    290

    你可以从这里下载这个例子的代码

    判断奇偶数

    复制代码 代码如下:

    #!/bin/bash
    echo "Enter The Number"
    read n
    num=$(expr $n % 2)
    if [ $num -eq 0 ]
    then
    echo "is a Even Number"
    else
    echo "is a Odd Number"
    fi

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi EvenOdd.sh
    [root@tecmint ~]# chmod 755 EvenOdd.sh
    [root@tecmint ~]# ./EvenOdd.sh
     
    Enter The Number
    12
    is a Even Number
    1
    2
    3
    4
    5
    [root@tecmint ~]# ./EvenOdd.sh
     
    Enter The Number
    11
    is a Odd Number

    Factorial数

    复制代码 代码如下:

    #!/bin/bash
    echo "Enter The Number"
    read a
    fact=1
    while [ $a -ne 0 ]
    do
    fact=$(expr $fact \* $a)
    a=$(expr $a - 1)
    done
    echo $fact

    输出结果:
    复制代码 代码如下:
    [root@tecmint ~]# vi Factorial.sh
    [root@tecmint ~]# chmod 755 Factorial.sh
    [root@tecmint ~]# ./Factorial.sh
     
    Enter The Number
    12
    479001600

    你可以从这里下载这个例子的代码

    判断Armstrong数

    Armstrong数:在三位的正整数中,例如abc,有一些可能满足(a^3)+(b^3)+(c^3)=abc,即各个位数的立方和正好是该数的本身。这些数即称为Armstrong数。

    复制代码 代码如下:

    #!/bin/bash
    echo "Enter A Number"
    read n
    arm=0
    temp=$n
    while [ $n -ne 0 ]
    do
    r=$(expr $n % 10)
    arm=$(expr $arm + $r \* $r \* $r)
    n=$(expr $n / 10)
    done
    echo $arm
    if [ $arm -eq $temp ]
    then
    echo "Armstrong"
    else
    echo "Not Armstrong"
    fi

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi Armstrong.sh
    [root@tecmint ~]# chmod 755 Armstrong.sh
    [root@tecmint ~]# ./Armstrong.sh
     
    Enter A Number
    371
    371
    Armstrong
    1
    2
    3
    4
    5
    6
    [root@tecmint ~]# ./Armstrong.sh
     
    Enter A Number
    123
    36
    Not Armstrong

    判断质数

    复制代码 代码如下:

    #!/bin/bash
    echo “Enter Any Number”
    read n
    i=1
    c=1
    while [ $i -le $n ]
    do
    i=$(expr $i + 1)
    r=$(expr $n % $i)
    if [ $r -eq 0 ]
    then
    c=$(expr $c + 1)
    fi
    done
    if [ $c -eq 2 ]
    then
    echo “Prime”
    else
    echo “Not Prime”
    fi

    输出结果:
    复制代码 代码如下:

    [root@tecmint ~]# vi Prime.sh
    [root@tecmint ~]# chmod 755 Prime.sh
    [root@tecmint ~]# ./Prime.sh
     
    “Enter Any Number”
    12
     
    “Not Prime”

    您可能感兴趣的文章:
    • Shell(())实现对整数进行数学运算
    • Linux Shell脚本系列教程(五):数学运算
    • Shell实现的一些数学运算自定义函数分享
    • Windows Powershell 进行数学运算
    • 通过shell进行数学运算的多种方式
    • Shell中的数学运算使用
    上一篇:5个Shell脚本编程入门练习例子
    下一篇:5个实用的shell脚本面试题和答案
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Shell脚本编程中常用的数学运算实例 Shell,脚本,编程,中常,用的,