Bash 计算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

我试图计算员工的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): 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