linux - Linux除法和乘法的语法错误

标签 linux

我正在尝试计算 a 的 20%,其中 a 由用户输入。

echo "Please enter your basic salary"
read a
#HRA
b=`expr (20 / 100)\* $a)`|bc

echo HRA is:$b

这个表达式出了什么问题,生成了一条错误消息?

最佳答案

第一个问题是您只想将表达式传递到 bc 中进行计算,因此使用 echo 而不是 expr。

其次,您的评估顺序将首先计算 20/100 作为整数,结果为 0,然后将工资乘以该值,结果为 0。重新排序计算即可解决该问题。

所以以下应该有效:

echo "Please enter your basic salary"
read a
#HRA
b=`echo $a " * 20 / 100"|bc`

echo HRA is:$b

或者,如果您更喜欢使用 expr 而不是 bc,您可以转义有问题的字符来实现此操作:

echo "Please enter your basic salary"
read a
#HRA
b=`expr $a \* 20 \/ 100`

echo HRA is:$b

关于linux - Linux除法和乘法的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24921850/

相关文章:

c++ - 命令行中缺少 DSO(使用 CMake)

java - Eclipse 将不会在 Linux 中生成 R.Java

python - 如何找到多个子流程的执行时间?

python - 如何在virtualenv中使用Pacman安装的NumPy?

linux - 如何使用 cURL 查询时间戳超过 30 天的所有记录?

c - 在CLI环境下访问本地应用程序文件?

在动态加载之前检查共享库的兼容性

linux - 如何增加 VirtualBox 屏幕的尺寸?

c - 从串行端口 Linux C 读取 NULL 字符

php - 缓存一个完全动态的网站