Bash 计算1.5加班工资命中无效算术运算符错误
我试图计算员工的1.5加班费,但出现语法错误“算术运算符无效”。我需要指出十进制计算的任何特殊命令吗? 谢谢 错误:Bash 计算1.5加班工资命中无效算术运算符错误,bash,Bash,我试图计算员工的1.5加班费,但出现语法错误“算术运算符无效”。我需要指出十进制计算的任何特殊命令吗? 谢谢 错误: Enter employee name: Mary Mary is Hourly employee. Enter hourly wage:1 Enter hours worked this week:42 ./Assignment2.sh: line 196: let: hwages = (40 * hsalary) + (overtime * 1.5 * hsalary): s
Enter employee name: Mary
Mary is Hourly employee.
Enter hourly wage:1
Enter hours worked this week:42
./Assignment2.sh: line 196: let: hwages = (40 * hsalary) + (overtime * 1.5 * hsalary): syntax error: invalid arithmetic operator (error token is ".5 * hsalary)")
Gross wages: $
Hit [Enter] to return to main menu...
我的代码:
elif [ "$EmployeeType" = "Hourly" ]
then
echo -en "Enter hourly wage:"
read hsalary
echo -en "Enter hours worked this week:"
read hours
if [ "$hours" > 40 ]
then
let "overtime = hours - 40"
let "hwages = (40 * hsalary) + (overtime * 1.5 * hsalary)"
else
let "hwages = hsalary * hours"
fi
echo -en "Gross wages: \$$hwages"
echo
BASH只支持整数运算,不支持浮点运算。使用
bc-l
或awk
例如:
bc -l <<< "1.5 * 20"
30.0
bc-l试着让“hwages=(40*hsalary)+(超时*1.5*hsalary)”|bc。它不起作用。。我缺少什么?请在您的问题中提供完整的更新脚本,以便我进行调查并提出建议。您需要使用以下命令:hwages=$(bc-l我收到此错误。let:hwages=43.0:语法错误:无效的算术运算符(错误标记为“.0”)正如我写的那样,BASH不支持浮点运算,所以不能让hwages=43.0