linux分区和多重处理上的语法错误
我试图计算20%的linux分区和多重处理上的语法错误,linux,Linux,我试图计算20%的a,其中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 "Plea
a
,其中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
您也可以在
bash
#!/bin/bash
echo "Please enter your basic salary"
read a
let b=$a*20/100
echo HRA is:$b
也许包括实际的错误消息可能有用。。。