arm debian 获取CPU温度的值 赋予变量CPU_TEMP, 温度精确到0.1
时间: 2024-03-20 10:45:26 浏览: 13
在arm Debian系统上,可以通过/sys/class/thermal/thermal_zone0/temp文件获取CPU温度的原始值,单位为千分之一摄氏度。要将温度精确到0.1度,可以将CPU温度的原始值除以10000得到实际温度值,并使用bc命令进行四舍五入。以下是获取CPU温度的命令,并将结果赋给变量CPU_TEMP:
```
CPU_TEMP=$(echo "$(cat /sys/class/thermal/thermal_zone0/temp)/10000" | bc -l | xargs printf "%.1f")
```
这个命令将读取/sys/class/thermal/thermal_zone0/temp文件的内容(即CPU温度的原始值),并将其除以10000得到实际温度值。然后,使用bc命令进行四舍五入,并使用printf命令将结果格式化为一位小数。最后,使用$()将计算结果作为CPU_TEMP变量的值。注意,在arm Debian系统中,使用echo和bc命令进行数值计算时,需要使用-l选项来启用小数计算。
相关问题
arm debian 获取CPU温度的值 赋予变量CPU_TEMP
在arm Debian系统上,可以通过/sys/class/thermal/thermal_zone0/temp文件获取CPU温度的原始值,单位为千分之一摄氏度。你可以使用以下命令将CPU温度值除以1000,并将结果赋给变量CPU_TEMP:
```
CPU_TEMP=$(($(cat /sys/class/thermal/thermal_zone0/temp)/1000))
```
这个命令将读取/sys/class/thermal/thermal_zone0/temp文件的内容(即CPU温度的原始值),并将其除以1000得到实际温度值。然后,使用$()将计算结果作为CPU_TEMP变量的值。注意,在arm Debian系统中,使用$((...))来执行算术运算。
CPU_TEMP=`/usr/bin/vcgencmd measure_temp | cut -c "6-9"` 改为debian下测温度
在Debian系统下,可以使用sensors命令来获取CPU温度,例如:
```
CPU_TEMP=$(sensors | grep 'Core 0' | awk '{print $3}' | cut -c 2-5)
```
这里使用了grep命令来过滤出包含"Core 0"的行,然后使用awk命令来获取第3列的数据,最后使用cut命令来截取温度值。需要注意的是,这种方式获取的温度值可能会有一定的误差。