You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unraid脚本中提取smartctl输出的RAW_VALUE值

在Unraid中提取硬盘SMART传感器RAW_VALUE的脚本实现

要从smartctl的输出中提取Airflow_Temperature_Cel对应的RAW_VALUE并赋值给变量,你可以用以下几种可靠的方法:

方法1:使用awk(推荐)

awk可以轻松处理空格分隔的字段,$NF表示取当前行的最后一个字段(正好对应RAW_VALUE):

# 赋值给变量AIRFLOW_TEMP
AIRFLOW_TEMP=$(smartctl -A /dev/sdg | grep Airflow_Temperature_Cel | awk '{print $NF}')

如果担心存在多行匹配结果,可添加grep -m 1只保留第一行:

AIRFLOW_TEMP=$(smartctl -A /dev/sdg | grep -m 1 Airflow_Temperature_Cel | awk '{print $NF}')

方法2:使用sed

通过正则匹配行尾的数字部分来提取RAW_VALUE:

AIRFLOW_TEMP=$(smartctl -A /dev/sdg | grep Airflow_Temperature_Cel | sed -E 's/.* ([0-9]+)$/\1/')

验证结果

赋值完成后,可通过以下命令确认变量是否正确获取到数值:

echo $AIRFLOW_TEMP

执行后应该输出目标RAW_VALUE(比如你提到的45)。

内容的提问来源于stack exchange,提问作者XxnumbxX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:32:34