Отрывок из скрипта bash, который я использую для резервного копирования некоторых фотографий:

#!/bin/bash

FROM="/cygdrive/f/\"Trip to Austria\""
TO="/cygdrive/s/\"Trip to Austria\""

rsync -av $FROM $TO

Когда я печатаю последнюю команду изнутри скрипта, она печатается правильно, т.е.

rsync -av /cygdrive/f/"Trip to Austria" /cygdrive/s/"Trip to Austria"

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

rsync: link_stat "/cygdrive/f/Photos/"Trip" failed: No such file or directory (2)
rsync: link_stat "/home/User/to" failed: No such file or directory (2)
rsync: change_dir "/home/User/Austria"" failed: No such file or directory (2)

Как ни странно , хотя, команда не работает , когда я ввожу его в оболочке Cygwin.

Что дает?

1 ответ1

4

Это потому, что Bash распознает их в первую очередь.

rsync -av "$FROM" "$TO"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .