使用传参的方法写个脚本,实现加减乘除的功能。例如: sh a.sh 10 20,分别计算加、减、乘、除的结果。要求: 脚本需判断提供的两个数字必须为整数。 当做减法或者除法时,需要判断哪个数字大。 减法时需要用大的数字减小的数字。 除法时需要用大的数字除以小的数字,并且结果需要保留两个小数点(提示:如果运行脚本时提示bc命令找不到,可以使用yum安装)
时间: 2024-02-27 18:59:23 浏览: 18
好的,以下是符合您要求的脚本:
```bash
#!/bin/bash
# 判断参数是否为整数
function is_int(){
if [[ $1 =~ ^-?[0-9]+$ ]]; then
return 0
else
return 1
fi
}
# 判断两个数字大小
function compare(){
if [ $1 -gt $2 ]; then
return 0
else
return 1
fi
}
# 加法
function add(){
local sum=$(($1+$2))
echo "$1 + $2 = $sum"
}
# 减法
function minus(){
if compare $1 $2; then
local diff=$(($1-$2))
echo "$1 - $2 = $diff"
else
local diff=$(($2-$1))
echo "$2 - $1 = $diff"
fi
}
# 乘法
function multiply(){
local product=$(($1*$2))
echo "$1 * $2 = $product"
}
# 除法
function divide(){
if compare $1 $2; then
local result=$(echo "scale=2; $1/$2" | bc)
echo "$1 / $2 = $result"
else
local result=$(echo "scale=2; $2/$1" | bc)
echo "$2 / $1 = $result"
fi
}
# 判断参数个数是否正确
if [ $# -ne 2 ]; then
echo "Usage: $0 num1 num2"
exit 1
fi
# 判断参数是否为整数
if ! is_int $1 || ! is_int $2; then
echo "The parameters must be integers."
exit 1
fi
# 调用加减乘除函数
add $1 $2
minus $1 $2
multiply $1 $2
divide $1 $2
```
您可以将代码复制到一个名为 `a.sh` 的文件中,然后在终端中执行 `sh a.sh 10 20` 来测试脚本。如果您的系统中没有安装 `bc` 命令,请使用以下命令安装:
```bash
yum install -y bc
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)