为什么除法不能在shell编程中产生结果?
我有一个shell程序,它的一小部分可以如下所示:为什么除法不能在shell编程中产生结果?,shell,Shell,我有一个shell程序,它的一小部分可以如下所示: count=1000 total=100000 percent=`expr $count/$total` 它无法生成除法结果,结果文件中仅显示1000/100000 有什么帮助吗?非常感谢。~要分割的值和/运算符之间应该有空格,如下所示: count=1000 total=100000 percent=`expr $count / $total` # ^ ^ - those are important 在
count=1000
total=100000
percent=`expr $count/$total`
它无法生成除法结果,结果文件中仅显示1000/100000
有什么帮助吗?非常感谢。~要分割的值和/运算符之间应该有空格,如下所示:
count=1000
total=100000
percent=`expr $count / $total`
# ^ ^ - those are important
在要分割的值和/或运算符之间应该有空格,如下所示:
count=1000
total=100000
percent=`expr $count / $total`
# ^ ^ - those are important
您需要在“/”号前后添加空格:
percent=`expr $count / $total`
但它是一个整数除法。因此,您需要先将$count乘以100,或者使用类似“bc”的符号。您需要在“/”符号前后添加空格:
percent=`expr $count / $total`
但它是一个整数除法。因此,您需要先将$count乘以100,或者使用类似“bc”的值。更好地使用:
更好地使用:
目瞪口呆
count=1000
total=100000
result=$(gawk -v c=$count -v t=$total 'BEGIN{print c/t }')
echo "result is $result"
目瞪口呆
count=1000
total=100000
result=$(gawk -v c=$count -v t=$total 'BEGIN{print c/t }')
echo "result is $result"
你用的是什么shell语言?@Justin:问题是哪个shell。Bash、dash、ash、ksh、csh、zsh等等。你用的是什么shell语言?@Justin:问题是哪个shell。Bash、dash、ash、ksh、csh、zsh等。当我按照您的建议使用bc时,我得到了以下错误信息,我还应该在这个命令中添加什么?为什么终端将生成的.89号识别为新命令?非常感谢/循环\u计数\u引用\u帧号\u no.sh:第24行:.89:未找到命令我得到它,在=和下面的表达式之间不应该有空格。非常感谢!当我按照你的建议使用bc时,我得到了以下错误信息,我还应该在这个命令中添加什么?为什么终端将生成的.89号识别为新命令?非常感谢/循环\u计数\u引用\u帧号\u no.sh:第24行:.89:未找到命令我得到它,在=和下面的表达式之间不应该有空格。非常感谢!