我正在尝试使用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