2015-04-02 52 views
1

经过一些数学运算后,我想将所有负数的出现次数显示为零。简单的例子:Bash:将负数的所有实例显示为零

num1=6 
num2=8 
firstresult=$(($num1 - $num2)) 
echo $result 
# 
num3=2 
num4=9 
secondresult=$(($num3 - $num4)) 
echo $secondresult 

等等......显然,两个结果变量都会产生负数。我希望这些数字显示为零。

也许有些函数可以写吗?不确定。任何帮助表示赞赏。

回答

3
no_negatives() { 
    echo "$(($1 < 0 ? 0 : $1))" 
} 

这是一个非常不好的名字,随时挑选一个更好的。那么:

$ a=5 b=3 
$ echo $(no_negatives $((a - b))) 
2 
$ echo $(no_negatives $((b - a))) 
0 
+0

谢谢。这正是我需要的。希望我有更多的声望来赞扬你。 – 2015-04-02 21:41:17