系统相关
首页 > 系统相关> > linux – 在shell脚本中减去浮点数

linux – 在shell脚本中减去浮点数

作者:互联网

我正在尝试使用CPU使用情况在shell脚本中进行一些计算.哪个返回浮点数.但是当我减去这个数字时,我会收到错误.请参阅以下代码和错误.

#!/bin/sh

CPU_IDLE=98.67
echo $CPU_IDLE
CPU_USAGE=$(( 100 - $CPU_IDLE ))
echo $CPU_USAGE

错误

./poc.sh: line 14: 100 - 98.67 : syntax error: invalid arithmetic operator (error token is ".67 ")

解决方法:

bash和ksh都不能执行浮点运算(如果我没记错的话,ksh93支持).我建议切换到zsh或运行外部工具,如bc:

$CPU_IDLE=98.67
$echo "$CPU_IDLE"
$CPU_USAGE=$( bc <<< "100 - $CPU_IDLE" )
$echo "$CPU_USAGE"
1.33

标签:bash,linux,ksh,shell-script,arithmetic
来源: https://codeday.me/bug/20190814/1652283.html