На этот вопрос уже есть ответ здесь:
Я запускаю сервер Ubuntu 12.04 из дома и использую Ubuntu One в качестве резервного сайта. Я не очень хорошо разбираюсь в сценариях (новичок), поэтому при написании сценариев bash, которые я позже crontab для резервного копирования, необходимость использования «Ubuntu \ One» или аналогичных методов приводит к путанице. На самом деле, мне пришлось сделать в моем скрипте «cd 'Ubuntu \ One'» в скрипте, чтобы я мог пропустить использование структуры каталогов в tar, потому что это не сработает.
Есть ли шанс переименовать папку по умолчанию «Ubuntu One»? Или есть какой-то другой простой способ, которого я просто не вижу при работе с командами tar?
Вот что было Я пытался сделать, но не работает:
DEST_DIR="/home/user/Ubuntu\ One/backup"
tar -vczpf ${DEST_DIR}/${FNAME}-${TIMESTAMP}.tar.gz ${SRC_DIR} >> ${LOG}
Однако это работает:
cd /home/user/Ubuntu\ One
tar -vczpf ${FNAME}-${TIMESTAMP}.tar.gz ${SRC_DIR} >> ${LOG}
Мне нужны переменные, чтобы я мог создавать резервные копии более конкретных файлов и каталогов и позже использовать массив для сортировки куда идет материал. Заставить меня «cd» перейти в каталог U1 в скрипте - отстой.
Попробуйте это:
DEST_DIR="/home/user/Ubuntu One/backup"
tar -vczpf "${DEST_DIR}/${FNAME}-${TIMESTAMP}.tar.gz" ${SRC_DIR} >> ${LOG}
обратная косая черта не выходит внутри doublequotes. Нет никакой потребности выйти из клавиши "Пробел" внутри doublequotes как бы то ни было.