Проблема Bash с eval, переменными и кавычками

Я читал о кавычках в bash здесь и повсюду, но мне не помогло решить эту проблему.

Дело в том, что у меня есть небольшой скрипт для выполнения резервного копирования в цикле.

Если я не использую eval , то у меня будут проблемы с переменной $ OPTIONS в rsync .

Но если я использую eval , тогда проблема переходит в переменную $ CURRENT_DIR ...

rsync возвращает следующее сообщение: 'Неожиданный локальный аргумент: / путь / with '

Я пробовал всеми способами заключать в кавычки переменную $ CURRENT_DIR

CURRENT_DIR="/path/with spaces/backup"
DIR="dir_by_project"
f=":/home/project_in_server"
OPTIONS="-avr --exclude 'public_html/cms/cache/**' --exclude 'public_html/cms/components/libraries/cmslib/cache/**' --delete"
eval rsync --delete-excluded -i $OPTIONS  root@example.com$f $CURRENT_DIR/xxx/$DIR/files

Могу ли я использовать переменную $ CURRENT_DIR без проблем, вызванных пробелами?

12
задан Cesar 9 March 2011 в 23:47
поделиться