shell脚本中的整数取整
我对shell脚本一无所知,因此有一个关于如何取整整数的问题 下面是keke(smstools3开发人员)脚本中的一行代码 我的余额是111.12,我想把它加起来 我试过了shell脚本中的整数取整,shell,Shell,我对shell脚本一无所知,因此有一个关于如何取整整数的问题 下面是keke(smstools3开发人员)脚本中的一行代码 我的余额是111.12,我想把它加起来 我试过了 balance1=$(substr "$result" "$balance_prefix" "$balance_suffix") balance=$("%0.f\n" "$balance1") 或 这两个例子都引用了google it之后的一些答案,我甚至不知道语法是否正确。当然,这两个例子都返回空白 有什
balance1=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance=$("%0.f\n" "$balance1")
或
这两个例子都引用了google it之后的一些答案,我甚至不知道语法是否正确。当然,这两个例子都返回空白
有什么提示或建议吗?谢谢
编辑:
资料来源:
或
或
仅使用最少的标准工具(perl和python非常常见):
balance=$(echo“x=${balance1};scale=0;xx=x/1;if(x>xx)xx+=1;打印xx”| bc-l)
仅使用最少的标准工具(perl和python非常常见):
balance=$(echo“x=${balance1};scale=0;xx=x/1;if(x>xx)xx+=1;print xx”| bc-l)
您想将其取整为什么?请你再添加几个输入/输出示例以使其更清晰,好吗?@hendry谢谢你的回答。因为在脚本中,如果我的余额是十进制值,它将不会进行任何比较(例如,如果余额低于20,则发送警报消息),我会在我的问题中粘贴更多代码。我认为这些代码会分散我对“取整问题”的注意力。也许能解决问题。你想把它归纳成什么?请你再添加几个输入/输出示例以使其更清晰,好吗?@hendry谢谢你的回答。因为在脚本中,如果我的余额是十进制值,它将不会进行任何比较(例如,如果余额低于20,则发送警报消息),我会在我的问题中粘贴更多代码。我认为这些代码会分散我对“取整问题”的注意力。也许解决了问题。我很抱歉我的反应太晚。感谢你的回答,我尝试了,但它仍然返回空白结果。好吧,python对我不起作用,然而,perl做得很好。我很抱歉我的反应太晚。感谢你的回答,我尝试了,但它仍然返回空白结果。好吧,python对我不起作用,然而,perl做得很好。
balance1=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance=$("%0.f\n" "$balance1")
balance1=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance=$(ceil($balance1))
# Check that required words exists:
if [[ "$result" == *${balance_prefix}* ]] && \
[[ "$result" == *${balance_suffix}* ]]
then
# Get the balance and check it:
balance=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance_low=0
if [ $(expr "$balance" + 1 2> /dev/null) ]; then
[ $balance -le $alert_balance ] && balance_low=1
else
echo "Error while parsing an integer: $balance"
fi
else
echo "Error while parsing the answer (balance): $result"
fi
balance=`python -c "from math import ceil; print(ceil($balance1))"`
balance=`perl -MPOSIX -e "print ceil($balance1)"`