很抱歉我不能非常具体,我真的不知道问题出在哪里,刚开始使用 bash,所以我的调试技能仅限于 echo。
我有以下代码:
#! /bin/bash
# post_torrent.sh
{
# Log file, file where we tell what events have been processed.
LOG_FILE=/Users/Server/Documents/sickbeard/logs/post_torrent.log
# Username for transmission remote.
TR_USERNAME="admin"
# Password for transmission remote.
TR_PASSWORD="1234"
# Get current time.
NOW=$(date +%Y-%m-%d\ %H:%M:%S)
# Source directory, should not be changed.
SRC_DIR="${TR_TORRENT_DIR}/${TR_TORRENT_NAME}/"
# Directory to store the un-compressed files in..
DEST_DIR="${TR_TORRENT_DIR}/${TR_TORRENT_NAME}/"
cd $SRC_DIR
echo $NOW "SRC_DIR $SRC_DIR" >> $LOG_FILE
RAR=$(find . -iname "*.rar")
echo $NOW "RAR $RAR" >> $LOG_FILE
unrar x -inul "$RAR"
exit 0
} &
日志文件显示正在使用正确的文件。当我在终端中一一执行脚本中的语句时(我正在使用 mac osx 服务器),一切正常并且文件被提取。但是,在下载种子后执行此脚本时,它不会。
我一直试图找出为什么会这样大约三个小时,但仍然没有找到任何线索。我认为权限没问题,因为我对此进行了测试。然而,我是 bash 的新手,对 mac osx 命令行不太熟悉。
提前致谢。
编辑:一些额外的信息。日志如下所示: 2013-02-27 00:14:42 SRC_DIR /Volumes/Multimedia/aa_bb/Downloads/some_serie/ 2013-02-27 00:14:42 RAR ./some_serie.rar
该程序在文件下载完成时作为程序集通过传输执行。
必须提取的文件位于共享的外部硬盘驱动器上。
希望这可以帮助。