为了在 Raspberry Pi 上面做向 Yeelink 发送数据的 Cron 脚本,不得不研究了一下如何利用 bc、awk、grep 这些玩意儿把字符串中的信息提取出来,以下为今晚的成果。
首先需要安装 bc:
sudo apt-get update && sudo apt-get install bc
获取系统温度(单位:摄氏度)
temp_raw=cat /sys/class/thermal/thermal_zone0/temp
temp=echo "scale=3; $temp_raw / 1000" | bc
获取当前 CPU 频率(单位:MHz)
freq_raw=cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
freq=echo "scale=0; $freq_raw / 1000" | bc
获取当前负载(单位:按 1.00=100% 计算的百分比)
load_raw=uptime | awk -F ',' '{print $3}' | awk -F ' ' '{print $3}'
load=echo "scale=0; $load_raw * 100" | bc
获取内存使用量(单位:free -m
返回值中 Total / Used 的百分比)
total=free -m | grep Mem | awk -F ' ' '{print $2}'
used=free -m | grep Mem | awk -F ' ' '{print $3}'
usage=echo "scale=2; $used / $total * 100" | bc