【发布时间】:2013-12-15 13:10:35
【问题描述】:
我有一个 bash 脚本,它充当 utorrent-server 的后处理脚本,将变量传递给重命名为 FileBot 的媒体。
脚本:
#!/bin/bash
TORRENT_NAME=$1
TORRENT_PATH=$2
TORRENT_LABEL=$3
TORRENT_KIND=$4
TORRENT_TITLE=$5
/usr/share/filebot/bin/filebot.sh -script fn:amc --output "/mnt/Storage/" \
--log-file "amc.log" --action move --conflict override -non-strict \
--def music=n subtitles=en artwork=n xbmc="192.168.0.123" deleteAfterExtract=y \
clean=y "ut_dir=$TORRENT_PATH" "ut_file=$TORRENT_NAME" "ut_kind=$TORRENT_KIND" \
"ut_title=$TORRENT_TITLE" "ut_label=$TORRENT_LABEL" "ut_state=5" "seriesFormat=TV \
Shows/{n}/Season {s.pad(2)}/{n} - {s00e00} - {t}" "movieFormat=Movies/{n} ({y})/{n} ({y})" \
&>> /home/xbmc/run.log
如果我手动运行此脚本,它会按预期工作,但是当 uTorrent 执行它时,它会返回“没有这样的文件或目录”。通过标准错误。我最初让 uTorrent 直接调用此脚本,但我遇到了同样的问题。
有谁知道这是什么原因造成的?
更新(所有目录/文件夹的权限):
drwxr-xr-x 3 root root 4096 Nov 27 23:52 /home
drwxr-xr-x 20 xbmc xbmc 4096 Dec 15 21:46 /home/xbmc
drwxr-xr-x 10 root root 4096 Oct 17 06:51 /usr
drwxr-xr-x 218 root root 4096 Dec 13 15:32 /usr/share
drwxr-xr-x 3 root root 4096 Dec 15 15:55 /usr/share/filebot
drwxr-xr-x 2 root root 4096 Dec 15 18:56 /usr/share/filebot/bin
-rwxr-xr-x 1 xbmc xbmc 615 Dec 15 21:44 /home/xbmc/run.sh
-rwxr-xr-x 1 root root 552 Dec 15 18:56 /usr/share/filebot/bin/filebot.sh
【问题讨论】:
-
哪个是非此类文件? filebot.sh?
-
您能告诉我们您是如何使用 uTorrent 执行它的吗?是否有独立执行的+x权限?
-
什么是
TORRENT_PATH?是绝对路径吗? -
TORRENT_PATH 是从 uTorrent 提供给脚本的参数,我已经通过运行 uTorrent 使用的脚本验证了路径是否正确(在 uTorrent 日志中说明)例如 /home/xbmc/ run.sh "friends.s06e11.720p.bluray.x264-mrs.sujaidr.mkv" "/mnt/Storage/Downloads/Complete/TV/Friends Season 6 Complete 720p.BRrip.mrlss.sujaidr" "TV" "multi" “Friends Season 6 Complete 720p.BRrip.mrlss.sujaidr”我假设没有这样的文件是 filebot.sh 因为那是唯一被调用的脚本,filebot.sh 也有 +x
-
如果没有找到
filebot.sh,bash 会说run.sh: line 8: /usr/share/filebot/bin/filebot.sh: No such file or directory。如果没有全部说明,那么可能是run.sh没有找到。检查run.sh路径,并可能在脚本的开头添加一些内容以查看它是否被执行。