Почему scp говорит «Нет такого файла»?

У меня есть сценарий bash, который использует scp для копирования файла с моей машины на другую. Сценарий продолжает выходить после ввода пароля SSH с ошибкой:

 <filename>: No such file or directory 

Тем не менее, в скрипте я проверяю файл, и все в порядке. Вначале я set -o verbose и вот что я получаю в конце скрипта:

 scp /Volumes/FX4\ HDD/Users/matthewdavies/Downloads/NCIS.S11E01.HDTV.x264-LOL.mp4 root@rpi.local:"/media/3TB/TV\ Shows/NCIS" root@rpi.local's password: /Volumes/FX4\ HDD/Users/matthewdavies/Downloads/NCIS.S11E01.HDTV.x264-LOL.mp4: No such file or directory 

Итак, я попытался выполнить команду scp как вывод, и все было в порядке; он копируется. Что случилось?

  • Как запустить привилегированный скрипт bash как не root?
  • Как создать скрипт, который запускает другой скрипт в отдельном окне терминала и не ждет?
  • nmap не будет распознавать имя хоста в моей локальной сети
  • Поиск файлов по кодировке символов
  • Список файлов, созданных по воскресеньям
  • Как удалить значения $ VAR2 из $ VAR1 и вывести оставшиеся значения в $ VAR3?
  • Монетный двор Linux: сделать «общедоступную интерактивную пусковую установку» только из корня sh?
  • Как суммировать значения двух строк в строке в linux
  • One Solution collect form web for “Почему scp говорит «Нет такого файла»?”

    Я не совсем уверен, что вы делаете, но когда я пытаюсь выполнить команду, которую вы имеете в своем примере, я получаю следующее:

     $ scp /home/saml/projects/Cooks.com\ -\ Recipe\ -\ Coconut\ Chicken.mht \ root@remotey:"/root/some spaced out file.mht" scp: ambiguous target 

    Это связано с тем, что вы указываете целевой путь, а также обратные косые черты, которые выходят из пробелов. Однако, когда текущая оболочка удаляет двойную кавычку, она также удалит одиночную обратную косую черту, оставив целевой путь в виде пустой строки с пробелами. Для того, чтобы пространство было правильно экранировано, необходимо выполнить одно из следующих действий:

    Примеры

    метод № 1 – двойная кавычка, одинарная кавычка

     $ scp /path/with\ spaces/file\ with\ spaces.txt \ user@remotey:"'/home/user/some spaced out file.txt'" 

    метод № 2 – одинарная кавычка, двойная кавычка

     $ scp /path/with\ spaces/file\ with\ spaces.txt \ user@remotey:'"/home/user/some spaced out file.txt"' 

    метод № 3 – одинарная кавычка, обратная косая черта

     $ scp /path/with\ spaces/file\ with\ spaces.txt \ user@remotey:'/home/user/some\ spaced\ out\ file.txt' 

    метод № 4 – двойная кавычка, обратная косая черта

     $ scp /path/with\ spaces/file\ with\ spaces.txt \ user@remotey:"/home/user/some\ spaced\ out\ file.txt" 

    метод №5 – тройная обратная косая черта

     $ scp /path/with\ spaces/file\ with\ spaces.txt \ user@remotey:/home/user/some\\\ spaced\\\ out\\\ file.txt 
    Linux и Unix - лучшая ОС в мире.