Мне нужно ввести разные каталоги, чтобы скопировать некоторые файлы с помощью rsync
, но эти каталоги имеют имена с пробелами (например, «CODE ONE»). Поэтому, когда работает rsync
, я не могу войти в эти каталоги. Имя каталогов находится в файле конфигурации, а в сценарии bash имя находится в переменной.rsync в/из удаленного каталога с пробелами в имени
Это код:
cat listdirectories.txt | while read line
do
DIRNAME=$(echo $line | awk -F\| '{print $1}')
rsync -rqut SERVER:/${DIRNAME}/${NAME_FILE} DIR_TARGET/
done
Я стараюсь ставить двойные кавычки, но результат тот же.
Любые предложения?
Где вы положили двойные кавычки? – Eduardo
Кстати, было бы полезно, если бы вы явно указали свой формат ввода (то есть содержимое, разделенное на трубы), вместо того, чтобы требовать от читателя интерпретации из вашего кода. –
Также обратите внимание, что символы труб разрешены в именах файлов в UNIX (как и символы новой строки!), Поэтому существует множество возможных имен файлов/каталогов, которые не могут обрабатывать формат файла, который здесь используется. –