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

Transmission Docker运行bash脚本出现:not found与unexpected "("报错求解

问题根因排查

你遇到的报错由两个核心问题导致:

  • 脚本文件的换行符是Windows格式(CRLF),Linux shell无法识别行尾的\r字符,所以会报xxx: not found类错误,同时行号计数也会出现偏差
  • 你用sh执行标注了#!/bin/bash的脚本:sh是POSIX标准shell,不支持bash专属的数组定义DONE_STATES=("Seeding" "Stopped" "Finished" "Idle")语法,因此触发语法错误。

解决步骤

  1. 转换脚本换行符为Unix格式(LF)
    如果你容器里有dos2unix工具,直接执行:
    dos2unix transmission-post-stop2.sh
    
    没有dos2unix可以用sed直接替换行尾的\r字符:
    sed -i 's/\r$//' transmission-post-stop2.sh
    
  2. 给脚本添加可执行权限
    chmod +x transmission-post-stop2.sh
    
  3. 改用bash执行脚本
    不要用sh启动,直接执行:
    ./transmission-post-stop2.sh
    
    也可以显式指定bash执行:
    bash transmission-post-stop2.sh
    

额外验证建议

脚本执行前可以先在容器内手动运行transmission-remote 127.0.0.1:9001 --auth xyz:xyz --list,确认Transmission RPC接口可以正常连接,避免后续脚本运行时出现连接报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 03:06:01