Сергей
Начну с главного. Я тебе одну тайну открою. Цикл у ней будет В ЛЮБОМ СЛУЧАЕ, какой бы инструмент она не взяла. Просто тут он у меня прописан явно, а где-то он не прописан, но это не значит, что его не будет. Будет цикл и будет циклично проверять директорию на наличие нового торрент файла. То. что ты идиотизмом называешь. Предложи другое решение, без цикла, разберём. Но его нет. Сама задача цикличность предполагает. Зачем mv. По нахождению нового торрент-файла его необходимо переместить в другую директорию, чтобы в следующем цикле этот файл уже не находился, это и делает mv Ей только нужно подгадать, чтобы файл закидывался не чаще чем значение этого параметра (5 секунд в примере, но можно любой выставить.). Всё равно что-то ей придётся делать вручную, не бывает такого, чтобы программа ВСЁ делала. Если, допустим, она уверена, что раз в минуту (не чаще) будет торренты закидывать- пусть использует код и не парится. Можно и чаще, проблема будет в том что в каждом теле цикла встретится не один, а несколько файлов. Решаемо, она же не зря тут модер. По клиенту- я уже написал. Если бы перед мной стояла такая задача, qbittorrenta хватило бы за глаза, может, консольный какой есть или тот же qbittorent но без гуи.
В случае inotifywait не нужно ничего и никуда перемещать. Айнотифивайт триггернётся один раз, при создании файла. Причём сам. Используя механизм ядра inotify.