You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell脚本输出异常求助:新手薪资计算脚本结果错误排查

你的Shell脚本问题分析与修正

问题根源

你在使用bc进行数值计算时,没有正确引用Shell变量。Shell中引用变量必须加$前缀,否则bc会把basic_sal、da这类变量名当作未定义的符号,默认取值为0,导致所有计算结果都是0。

修正后的脚本

echo Enter basic salary
read basic_sal
echo Basic salary is $basic_sal
da=`echo 0.4 \* $basic_sal | bc`
echo Dearness allowance is $da
hra=`echo 0.2 \* $basic_sal | bc`
echo House rent allowance is $hra
gross_sal=`echo $basic_sal + $da + $hra | bc`
echo Gross salary is $gross_sal

关键修正点

  • 计算da时:将basic_sal改为$basic_sal
  • 计算hra时:将basic_sal改为$basic_sal
  • 计算gross_sal时:将basic_sal、da、hra分别改为$basic_sal、$da、$hra

测试输出示例

输入2000后,正确输出应为:

Enter basic salary
2000
Basic salary is 2000
Dearness allowance is 800.0
House rent allowance is 400.0
Gross salary is 3200.0

内容的提问来源于stack exchange,提问作者PTK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:35:03