来自 Python 背景,这是我的第一个简单的 Bash 脚本,但它不起作用。我很困惑。
#!/bin/bash
RTCHOST='192.168.0.143'
PANEL1=$(client read-value --host $RTCHOST --name dc_1)
echo Panel1: $PANEL1
PANEL2=$(client read-value --host $RTCHOST --name dc_2)
echo Panel2: $PANEL2
PANELCONSUMPTION=$(($PANEL1 + $PANEL2))
echo Consumption: $PANELCONSUMPTION
运行脚本时,出现语法错误:
invalid arithmetic operator
怎么了?
我猜是
$PANEL1
浮点数$PANEL2
。但是,Bash 只能处理整数,不能处理浮点数,如算术扩展中所述。如果你尝试对浮点数求和,你会得到invalid arithmetic operator
错误。只需在这里尝试:
堆栈溢出线程中描述了添加浮点数:如何在 Bash 脚本中添加数字?
本质上,您可以使用外部实用程序(例如
bc
)来执行此示例中所示的操作:这有效并返回 11.4 的预期值。