当前位置: 首页 > 编程笔记 >

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

万英武
2023-03-14
本文向大家介绍Shell脚本编程中常用的数学运算实例,包括了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脚本,其中的代码是 什么是使用在这种情况下? 问题答案: 等于Tilde运算符允许在if语句中使用正则表达式。 可以使用附加的二进制运算符=〜,其优先级与==和!=相同。使用它时,运算符右边的字符串被视为扩展的正则表达式,并进行了相应的匹配(如regex(3)中一样)。如果字符串与模式匹配,则返回值为0,否则为1。如果正则表达式在语法上不正确,则条件表达式的返回值

  • 一、解放生产力 以下脚本需要放入一个可执行文件中,实现双击就可以运行! 1.1、快速提交代码 # Mac 上可以去掉脚本的第一行标志:「#!/bin/bash」 # 加上这个,颜色码会失效 # 1、cd 到当前目录 currentDir=$(cd "$(dirname "$0")"; pwd) cd ${currentDir} # 2、获取当前的分支 currentBranch=$(git s

  • Unix/Linux上常见的 Shell 脚本解释器有 bash、sh、csh、ksh等,习惯上把它们称作一种 Shell。我们常说有多少种 Shell,其实说的是Shell脚本解释器。

  • 本文向大家介绍Shell脚本处理浮点数的运算和比较实例,包括了Shell脚本处理浮点数的运算和比较实例的使用技巧和注意事项,需要的朋友参考一下 通过top命令看到的进程的CPU、内存的使用率的百分比是一个浮点数,我需要在写脚本时对其进行处理,所以学习了一些,总结如下。 其实,Shell(这里是Bash)本身不具备处理浮点计算的能力,但是可以使用“bc”这个高精度的计算器工具来帮助,另外,也可以在B

  • 问题内容: 我的代码: 但是当我执行 终端提示我 我的bash脚本有什么错误吗?谢谢! 问题答案: 您的 bash 脚本没有任何错误。但是您正在使用 sh 来执行它, sh的 语法不太广泛;) 因此,改为运行:)

  • 本文向大家介绍shell脚本编程之if语句学习笔记,包括了shell脚本编程之if语句学习笔记的使用技巧和注意事项,需要的朋友参考一下 我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看。先来学习一下条件语句if的用法,通过这一个简单的语法来说明一下shell脚本编程时候的东西。