Немо скрипт для торрентов

Привет, я новичок в написании сценариев, и я имею в виду полный нуби. Я работаю над сценарием для автоматического создания торрента с помощью nemo-скриптов.

#!/bin/bash
DIR="$NEMO_SCRIPT_SELECTED_FILE_PATHS"
BNAME=$(basename "$DIR")
TFILE="$BNAME.torrent"
TTRACKER="http://tracker.com/announce.php"
USER="USERNAME"
transmission-create -o "/home/$USER/Desktop/$TFILE" -t $TTRACKER "$DIR"

Это не работает.

Однако, если я заменю

DIR="$NEMO_SCRIPT_SELECTED_FILE_PATHS"

с

DIR="absolutepath"

чем это работает как шарм. Он создает его на рабочем столе с трекером, который я хочу. Я думаю, что это пригодится многим людям. Я действительно не знаю, что поставить. Есть вопросы, пожалуйста, задавайте. Опять полный нуби.

2 ответа

Я наконец нашел решение вашей и моей проблемы [ https://askubuntu.com/questions/243105/nautilus-scripts-nautilus-script-selected-file-paths-have-problems-with-spac][1]

Переменная $NEMO_SCRIPT_SELECTED_FILE_PATH/$NAUTILUS_SCRIPT_SELECTED_FILE_PATH представляет собой список путей / имен файлов, разделенных символом новой строки. Это портит все, что предполагает только одно имя файла, даже если это так.

#!/bin/bash
echo "$NEMO_SCRIPT_SELECTED_FILE_PATHS" | while read DIR; do
    BNAME=$(basename "$DIR")
    TFILE="$BNAME.torrent"
    TTRACKER="http://tracker.com/announce.php"
    USER="USERNAME"
    transmission-create -o "/home/$USER/Desktop/$TFILE" -t $TTRACKER "$DIR"
done

Заметьте, что это похоже на дополнительный проход для новой строки. Вы должны либо отфильтровать это, либо поставить, если файл / папка существует

$NEMO_SCRIPT_SELECTED_FILE_PATHS совпадает с $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS. Он заполняется с помощью nemo/nautilus, когда вы запускаете скрипт, и содержит список выбранных файлов / папок, разделенных новой строкой (я думаю). Предполагая, что вы выбираете только один файл или папку, я действительно не понимаю, почему это не сработает - если только символ перевода строки там и не вызывает проблем. Если это так, вы можете удалить его с помощью sed. Не работает Nemo или Nautilus, поэтому я не могу проверить это.

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