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

OpenMediaVault6风扇控制脚本报错:line19: used: command not found求助

排查与解决建议

针对你遇到的fan_controllers.sh: line 19: used: command not found报错,虽然单独执行hdparm -C /dev/sda正常,但脚本执行时出错,核心原因是脚本执行时hdparm -C $disk被错误解析,导致used被当成独立命令执行,以下是具体排查和解决步骤:

  • 检查脚本shebang行
    确认脚本第一行是否为#!/bin/bash或#!/bin/sh。如果shebang写错(比如用了非系统默认的shell),会导致语法解析异常;如果缺失shebang,系统可能用错误的shell执行脚本,引发奇怪的语法错误。

  • 验证$disk变量的赋值
    查看脚本中disk变量的定义部分,确认其值是否正确(比如是否为/dev/sda这类合法路径,没有多余空格、引号或特殊字符)。如果disk变量被错误赋值为类似/dev/sda used的内容,执行hdparm -C $disk时会被拆分为hdparm -C /dev/sda used,此时shell会把used当作独立命令查找,从而报错。

  • 开启脚本调试模式
    执行bash -x fan_controllers.sh,终端会输出脚本每一步执行的具体命令。你可以清晰看到hdparm -C $disk实际被解析成了什么,直接定位$disk的异常值或命令拆分问题。

  • 处理换行符问题
    如果脚本是在Windows环境下编辑后传到OMV系统的,可能带有CRLF换行符(Linux系统使用LF),导致shell解析错误。执行dos2unix fan_controllers.sh转换换行符后再尝试运行。

  • 规范变量引用方式
    将第19行的$disk用双引号包裹,修改为:

    HDTEMP=$(hdparm -C "$disk")
    

    这样可以避免$disk变量中包含空格或特殊字符时,命令被错误拆分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:54:58