Скрипт оболочки rtorrent execute

Я не могу понять, как вернуть вывод из сценария оболочки обратно в rtorrent после выполнения команды. Можно ли вернуть выходные данные из внешней команды обратно в сеанс rtorrent? Я использую интерфейс сценариев rtorrent для автоматического выполнения команды оболочки после того, как торрент завершен, строка события в.rtorrent.rc выглядит следующим образом:

system.method.set_key = event.download.finished,mycustomcommand,"execute=~/myshellscript.sh"

Файл myshellscript.sh выглядит следующим образом

#!/bin/sh
echo "Torrent finished!"

Есть ли способ сделать это?

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

коснитесь "$1". Загрузка завершена!

выход

это создаст сенсорный файл, сообщающий вам, что загрузка определенного файла завершена.

Я не уверен, что вы ищете, но я нашел это на вики-сайте rtorrent:

execute_capture_nothrow={command,arg1,arg2,...}

Это выполнит внешнюю команду с аргументами arg1,arg2,.... Она вернет вывод stdout команды.

system.method.set_key = event.download.finished,mycustomcommand,print="$execute_capture=/path/to/script" 

должно работать, по крайней мере

print="$execute_capture=/path/to/script"

работает, когда вы делаете это внутри рторрента. Если вы хотите сохранить вывод, тогда вместо печати используйте d.custom1.set=, если это поможет.

Другие вопросы по тегам