上QQ阅读APP看书,第一时间看更新
任务1.4.4 算术运算符操作
1. 任务描述
在Shell中,算术运算主要用于执行各种数学计算。常见的算术运算包括加法、减法、乘法、除法、求余数、幂运算等。
2. 任务实施
(1)编写Shell脚本,计算三角形的面积、圆的面积和周长,输出结果。
[opencloud@server ~]$ vim calculate01.sh #!/bin/bash # 定义三角形的底和高 triangle_base=6 triangle_height=8 # 计算三角形的面积 triangle_area=$(echo "scale=2; $triangle_base * $triangle_height / 2" | bc) # 定义圆的半径 circle_radius=10 # 计算圆的面积 circle_area=$(echo "scale=2; 3.14 * $circle_radius * $circle_radius" | bc) # 计算圆的周长 circle_circumference=$(echo "scale=2; 2 * 3.14 * $circle_radius" | bc) # 输出三角形的面积、圆的面积和周长 echo "三角形面积:$triangle_area" echo "圆的面积:$circle_area" echo "圆的周长:$circle_circumference" # 执行脚本并查看输出结果 [opencloud@server ~]$ bash calculate01.sh 三角形面积:24.00 圆的面积:314.00 圆的周长:62.80
(2)编写Shell脚本,使用bc命令进行算术运算。
[opencloud@server ~]$ vim calculate02.sh #!/bin/bash # 定义变量 a=10 b=20 c=30 # 使用bc命令进行算术运算 result1=$(echo "$a + $b" | bc) result2=$(echo "$a * $b" | bc) result3=$(echo "scale=2; $a / $b" | bc) result4=$(echo "$c % $a" | bc) result5=$(echo "scale=3; $a ^ $b" | bc) result6=$(echo "$a + $b * $c" | bc) result7=$(echo "$a * $b + $c" | bc) result8=$(echo "$c % $a + $b" | bc) # 输出结果 echo "a + b = $result1" echo "a * b = $result2" echo "a / b = $result3" echo "c % a = $result4" echo "a ^ b = $result5" echo "a + b * c = $result6" echo "a * b + c = $result7" echo "c % a + b = $result8" # 执行脚本并查看输出结果 [opencloud@server ~]$ bash calculate02.sh
(3)编写Shell脚本,使用let命令进行算术运算。
[opencloud@server ~]$ vim calculate03.sh #!/bin/bash # 定义变量 a=10 b=20 c=30 # 使用let命令进行算术运算 let result1=a+b let result2=a*b let result3=c%a let result4=a**b let result5=a+b*c let result6=a*b+c let result7=c%a+b # 输出结果 echo "a + b = $result1" echo "a * b = $result2" echo "c % a = $result3" echo "a ^ b = $result4" echo "a + b * c = $result5" echo "a * b + c = $result6" echo "c % a + b = $result7" # 执行脚本并查看输出结果 [opencloud@server ~]$ bash calculate03.sh
(4)编写Shell脚本,使用expr命令进行算术运算。
[opencloud@server ~]$ vim calculate04.sh #!/bin/bash # 定义变量 a=10 b=20 c=30 # 使用expr命令进行算术运算 result1=`expr $a + $b` result2=`expr $a \* $b` result3=`expr $c % $a` result4=`expr $a \* $a \* $a` result5=`expr $a + $b \* $c` result6=`expr $a \* $b + $c` result7=`expr $c % $a + $b` # 输出结果 echo "a + b = $result1" echo "a * b = $result2" echo "c % a = $result3" echo "a ^ 3 = $result4" echo "a + b * c = $result5" echo "a * b + c = $result6" echo "c % a + b = $result7" # 执行脚本并查看输出结果 [opencloud@server ~]$ bash calculate04.sh
(5)编写Shell脚本,使用$((…))表达式进行算术运算。
[opencloud@server ~]$ vim calculate05.sh #!/bin/bash # 定义变量 a=10 b=20 c=30 # 计算结果 result1=$((a + b)) result2=$((a * b)) result3=$((a / b)) result4=$((a % b)) result5=$((a ** b)) result6=$((a + b * c)) result7=$((a * b + c)) result8=$((c % a + b)) # 输出结果 echo "a + b = $result1" echo "a * b = $result2" echo "a / b = $result3" echo "a % b = $result4" echo "a ^ b = $result5" echo "a + b * c = $result6" echo "a * b + c = $result7" echo "c % a + b = $result8" # 执行脚本并查看输出结果 [opencloud@server ~]$ bash calculate04.sh a + b = 30 a * b = 200 a / b = 0 a % b = 10 a ^ b = 7766279631452241920 a + b * c = 610 a * b + c = 230 c % a + b = 20