在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
这部分主要讨论数学相关的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” |
请发表评论