Linux Shell 编程的数学方面 - 第四部分
在这篇文章中,我将从数学和数字的角度讨论脚本。虽然我在上一篇文章中发布了一个更复杂的脚本(简单计算器),但从用户的角度来看,它很难理解,因此我想让大家通过小包来学习其他有用的方面。
在本文之前,Shell 脚本系列文章已经发布三篇,分别是:
让我们通过一些新的令人兴奋的脚本开始进一步的学习过程,从数学脚本开始:
脚本 1:添加
按照上一篇文章所述,创建一个文件“ Addition.sh ”,并将chmod 755添加到脚本中,然后运行它。
#!/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@example ~]# vi Additions.sh [root@example ~]# chmod 755 Additions.sh [root@example ~]# ./Additions.sh “Enter the First Number: ” 12 “Enter the Second Number: ” 13 12 + 13 = 25
下载 Additions.sh
脚本 2:减法
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b x=$(($a - $b)) echo $a - $b = $x
注意:这里我们替换了expr并让数学计算在shell中执行。
示例输出
[root@example ~]# vi Substraction.sh [root@example ~]# chmod 755 Substraction.sh [root@example ~]# ./Substraction.sh “Enter the First Number: ” 13 “Enter the Second Number: ” 20 13 - 20 = -7
下载 Subtraction.sh
脚本 3:乘法
到目前为止,您会很享受以如此简单的方式学习脚本,因此按时间顺序接下来是乘法。
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b echo "$a * $b = $(expr $a \* $b)"
注意:是的!这里我们没有将乘法的值放入变量中,而是直接在输出语句中执行。
示例输出
[root@example ~]# vi Multiplication.sh [root@example ~]# chmod 755 Multiplication.sh [root@example ~]# ./Multiplication.sh “Enter the First Number: ” 11 “Enter the Second Number: ” 11 11 * 11 = 121
下载 Multiplication.sh
脚本 4:除法
对了!接下来是Division,同样是一个非常简单的脚本。自己检查一下。
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b echo "$a / $b = $(expr $a / $b)"
示例输出
[root@example ~]# vi Division.sh [root@example ~]# chmod 755 Division.sh [root@example ~]# ./Division.sh “Enter the First Number: ” 12 “Enter the Second Number: ” 3 12 / 3 = 4
下载 Division.sh
脚本 5:表格
很好!这些基本的数学运算之后呢?让我们编写一个打印任意数字表格的脚本。
#!/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@example ~]# vi Table.sh [root@example ~]# chmod 755 Table.sh [root@example ~]# ./Table.sh “Enter The Number upto which you want to Print Table: ” 29 58 87 116 145 174 203 232 261 290
下载 Table.sh
脚本 6:EvenOdd
我们小时候总是会计算数字是奇数还是偶数。在脚本中实现它不是一个好主意吗?
#!/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@example ~]# vi EvenOdd.sh [root@example ~]# chmod 755 EvenOdd.sh [root@example ~]# ./EvenOdd.sh Enter The Number 12 is a Even Number
[root@example ~]# ./EvenOdd.sh Enter The Number 11 is a Odd Number
下载 EvenOdd.sh
脚本 7:阶乘
接下来是求阶乘。
#!/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@example ~]# vi Factorial.sh [root@example ~]# chmod 755 Factorial.sh [root@example ~]# ./Factorial.sh Enter The Number 12 479001600
现在,您可能会觉得计算12*11*10*9*7*7*6*5*4*3*2*1比上面编写的简单脚本更难。想象一下您需要找到99!或类似数字的情况。当然!在这种情况下,此脚本将非常有用。
下载 Factorial.sh
剧本8:阿姆斯特朗
阿姆斯特朗数!哦,你忘了阿姆斯特朗数是什么了。三位数的阿姆斯特朗数是一个整数,其各位数字的立方和等于该数本身。例如,371是一个阿姆斯特朗数,因为3**3 + 7**3 + 1**3 = 371。
#!/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@example ~]# vi Armstrong.sh [root@example ~]# chmod 755 Armstrong.sh [root@example ~]# ./Armstrong.sh Enter A Number 371 371 Armstrong
[root@example ~]# ./Armstrong.sh Enter A Number 123 36 Not Armstrong
下载 Armstrong.sh
脚本 9:Prime
最后一个脚本是区分一个数字是否为质数。
#!/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@example ~]# vi Prime.sh [root@example ~]# chmod 755 Prime.sh [root@example ~]# ./Prime.sh “Enter Any Number” 12 “Not Prime”
下载 Prime.sh
目前就这些了。在下一篇文章中,我们将介绍 shell 脚本编程语言中的其他数学程序。不要忘记在评论部分提及您对本文的看法。点赞并分享我们,帮助我们传播。访问example.com了解与FOSS相关的新闻和文章。在此之前,请继续关注。