Используйте кавычки:
mv -- "$file" "$(echo "$file" | sed ...)"
Иначе mv
видит несколько аргументов. Имя файла с именем имя файла с пробелами
будет 4 аргументами для mv
. Поэтому ошибка: при перемещении нескольких файлов последний аргумент должен быть каталогом
. Когда mv
имеет более двух аргументов, предполагается, что вы хотите переместить несколько файлов в каталог (который будет последним аргументом).
Однако похоже, что вы хотите удалить первые 5 символов из имени файла. Это можно сделать проще с помощью bash
:
mv -- "$file" "${file:5}"
Edit : Я добавил флаг -
благодаря комментарию @ pabouk . Теперь корректно обрабатываются и файлы, начинающиеся с тире -
.
Это похоже на ошибку дизайна самой утилиты dhcrelay
. Он может прослушивать только широковещательные интерфейсы, а OpenVPN — это точка -— -точка интерфейс. Флаг -i
не изменит этот (, а только уменьшит количество выбранных интерфейсов из набора широковещательных интерфейсов ).
Работа -заключается в том, чтобы запустить dhcrelay
на устройстве в удаленной локальной сети, а не на самом шлюзе. Затем ретранслируемый одноадресный трафик будет проходить через туннель OpenVPN на DHCP-сервер и обратно.
Если вам нужен крошечный/дешевый сервер для такого рода задач, я могу порекомендовать Raspberry Pi с Raspbian (замаскированным Debian ). Я запускаю DNS на паре из них в каждом из наших удаленных офисов.
Ссылки