Перейти на домашнюю страницу

scp, Проблема копирования файлов с пробелами в именах

Существует проблема копирования файлов на удалённый сервер, если они содержат пробелы в имени. Возникает ошибка:

scp: ambiguous target


Решением проблемы является экранирование пробелов при указании имени файлов на удалённом сервере. Именно удалённом!

Простая попытка скопировать файл - ОШИБКА:

# scp "/path/to/file name.txt" root@remote-server:"/path/to/file name.txt"

scp: ambiguous target


Экранирование имени файла на удалённом сервере - УСПЕХ:

# scp "/path/to/file name.txt" root@remote-server:"/path/to/file\ name.txt"

file name.txt                   100%  228KB 227.7KB/s   00:00


Экранирование имени файла дополнительно на текущем сервере - ОШИБКА:

# scp "/path/to/file\ name.txt" root@remote-server:"/path/to/file\ name.txt"

/path/to/file\ name.txt: No such file or directory


* * *

Экранировать пробелы в имени файла в bash-скрипте можно таким образом:

FILENAME_ESCAPED=${FILENAME// /\\ }

#linux

2018-04-30 13:02:35