Linux:用select语句编写一个计算器,运算加减乘除
时间: 2024-11-07 14:13:17 浏览: 18
在Linux环境下,我们可以使用select系统调用来创建一个简单的命令行计算器,它支持用户输入加、减、乘、除操作。以下是一个简化的示例程序,假设我们只有一个标准输入(stdin)和一个标准错误输出(stderr),并且使用bash脚本环境:
```bash
#!/bin/bash
# 定义函数进行计算
calculate() {
local op=$1
shift
if [[ $op = "+" ]]; then
echo "$1 + $2 = $(($1 + $2))"
elif [[ $op = "-" ]]; then
echo "$1 - $2 = $(($1 - $2))"
elif [[ $op = "*" ]]; then
echo "$1 * $2 = $(($1 * $2))"
elif [[ $op = "/" && $2 != 0 ]]; then
echo "$1 / $2 = $(echo "scale=2; $1 / $2" | bc)"
else
echo "Invalid operator or division by zero!"
fi
}
# 使用select循环监听用户输入
while true; do
printf "\nChoose an operation (+, -, *, /): "
read -p "" op
select num in "Enter a number"; do
if [[ $num =~ ^[0-9]+$ ]]; then
num="$num"
break
else
echo "Please enter a valid number."
fi
done
calculate "$op" "$num"
done
# 使用Ctrl+C退出
trap 'exit' INT
```
在这个脚本中,`select`用于等待用户的输入,`calculate`函数负责实际的数学运算。用户可以选择操作符并输入数字,然后程序会执行相应的计算。
阅读全文