rtorrent 执行shell脚本
Posted
技术标签:
【中文标题】rtorrent 执行shell脚本【英文标题】:rtorrent execute shell script 【发布时间】:2013-11-11 19:26:55 【问题描述】:我不知道如何在命令执行后将 shell 脚本的输出返回到 rtorrent。 是否可以将外部命令的输出返回到 rtorrent 会话? 我使用 rtorrent 脚本接口在 torrent 完成后自动执行 shell 命令 .rtorrent.rc 中的事件行如下所示:
system.method.set_key = event.download.finished,mycustomcommand,"execute=~/myshellscript.sh"
myshellscript.sh 文件如下所示
#!/bin/sh
echo "Torrent finished!"
有没有办法做到这一点?
【问题讨论】:
【参考方案1】:我不确定您在搜索什么,但我在 rtorrent's wiki site 上找到了这个:
execute_capture_nothrow=command,arg1,arg2,...
这将执行带有参数 arg1,arg2,.... 的外部命令。它将返回 命令的标准输出。
【讨论】:
我以前试过这个,但还是没有运气。 execute_capture_nothrow=command,arg1,arg2,...这将执行带有参数 arg1,arg2,...的外部命令。它将返回命令的标准输出。我什至尝试过这个,但仍然没有运气。也许它与屏幕会话有关。 目标到底是什么?你想做什么? 我想执行shell脚本并将输出(stdout)返回到rtorrent 好的,但是 rtorrent 会如何处理呢? 我通过 rtorrent 脚本接口从 rtorrent 中运行脚本。所以必须说些什么。我开始怀疑是否有可能做到这一点。【参考方案2】:system.method.set_key = event.download.finished,mycustomcommand,print="$execute_capture=/path/to/script"
应该有效,至少
print="$execute_capture=/path/to/script"
当您在 rtorrent 中执行此操作时有效。如果要存储输出,则使用 d.custom1.set= 代替打印,如果有帮助的话。
【讨论】:
【参考方案3】:您忘记向 rtorrent.rc 本身添加参数,而且我认为 bash 脚本不完整。
.rtorrent.rc 行应该有
method.set_key = event.download.finished,whatever,"execute2=/path/myscript.sh,$d.name=,$d.base_path=,$d.hash="
bash 脚本
#!/bin/bash
TORRENT_NAME=1
TORRENT_PATH=2
TORRENT_HASH=3
touch "$1" Finished download!
exit
这将创建触摸文件,告诉您特定文件已完成下载。
【讨论】:
以上是关于rtorrent 执行shell脚本的主要内容,如果未能解决你的问题,请参考以下文章