#!/bin/bash
# 定义运算函数
calculate() {
local num1=$1
local operator=$2
local num2=$3
case $operator in
+) result=$((num1 + num2)) ;;
-) result=$((num1 - num2)) ;;
\*) result=$((num1 * num2)) ;;
/)
if [ $num2 -eq 0 ]; then
echo "Error: Division by zero"
return 1
fi
result=$((num1 / num2)) ;;
*)
echo "Error: Unknown operator $operator"
return 1
esac
echo $result
return 0
}
# 检查文件是否提供
if [ $# -ne 1 ]; then
echo "Usage: $0 <filename>"
exit 1
fi
filename=$1
# 逐行读取文件并处理
while read -r line; do
num1=$(echo $line | awk '{print $1}')
operator=$(echo $line | awk '{print $2}')
num2=$(echo $line | awk '{print $3}')
calculate $num1 $operator $num2
done < $filename