Скрипт оболочки 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=, если это поможет.