Есть скрипт, который передает файлы на фтп и затем перемещает их в отдельную папку
Из-за того, что имена файлов могут непредсказуемо иметь в имени пробелы и всяческие специсимволы, имя файла выводом find'а для удобства взято в одинарные кавычки
Из командной строки mv 'файл1' 'файл2' целевая_папка выполняется успешно с именами файлов, содержащим любые символы в имени, включая пробелы
Сам скрипт(точнее делающий это кусок) выглядит как-то так:
files_xml=$(find $FROM -maxdepth 1 -name "*.xml" -mmin +1 -printf "'%f' ")
if [ -n "${files_xml}" ]; then
echo "XML Files found, transferring"
sendToFTP "$files_xml_escaped" && mv $files_xml $SENTPATH
else
echo "XML files not found"
fi
В итоге при выполнении его получаю груду ошибок(для каждого файла):
mv: не удалось выполнить stat для «'file.xml'»: Нет такого файла или каталога
Захожу в каталог, файл есть, stat его выполняется, вручную mv также отрабатывает.
То ли я чего-то не понимаю, то ли чертовщина-с.