2

Я использую команды scp для извлечения некоторых файлов с удаленного сервера, и один вариант команды не работает.

У меня есть 2 файла с именами one.xml и two.xml на удаленном сервере, и я извлекаю эти два файла в текущий каталог с помощью следующей команды:

scp stuadmin@10.44.220.112:/student/class/Intermediate/one.xml .
scp stuadmin@10.44.220.112:/student/class/Intermediate/two.xml .

Приведенная выше команда работает нормально, но если я использую подстановочные знаки для извлечения всех файлов xml за один раз, как показано ниже, она возвращает scp: Нет совпадений.

scp stuadmin@10.44.220.112:/student/class/Intermediate/*.xml .

Почему это работает, если я извлекаю файлы по отдельности и не работает, если я пытаюсь вытянуть с использованием групповых символов.

1 ответ1

2

Я не уверен, почему это не работает - ваш простой пример работает в моих тестах.

В качестве потенциального предложения, возможно, вам придется экранировать символы подстановки, чтобы избежать интерпретации вашей локальной оболочкой, прежде чем они будут переданы в удаленную оболочку. Таким образом, с вашей командой ваша локальная оболочка может искать файлы, соответствующие * .xml в вашем текущем рабочем каталоге. Попробуйте инкапсулировать удаленную часть команды в одинарные кавычки, например:

scp stuadmin@10.44.220.112:'/student/class/Intermediate/*.xml' .

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