Привет всем!
Нужно скриптом перекинуть файлы на другой сервер, но в именах файлов есть пробелы и rsync копирует файл и обрежает имя до первого пробела.
Чтобы файл копировался полностью, нужно использовать апостроф и двойные ковычки, должно получиться что-то такое в упрощённом виде:
rsync $0 '"$0"'
Сам скрипт (упрощённый):
find $(ls ~/www) -type f -name "*.mp4" -print0 | \
xargs -0 -L1 bash -c ' \
...Тут всякие переменные... ; \
rsync -av -P -R "$0" my@server:/var/www/html/user/"$0" '
Если пытаться делать и апостроф и ковычки, то это работает до первых ковычек, например:
bash -c ’ «$0» mymy@server:’ /var/www/html/user/’«$0» ’
Помогите понять, что делаю не так. Уже была тема, где мне подсказали вместо find -exec {} \ ; использовать find -print0 | xargs