Как запускать команды оболочки в lftp для передачи файлов?

#shell #sftp #file-transfer #lftp

#оболочка #sftp #передача файлов #lftp

Вопрос:

Мне нужно скопировать несколько файлов из удаленного каталога, в котором есть подкаталоги. Я использую lftp для этого, но команды оболочки внутри него не работают. Есть ли обходной путь для этого? Пожалуйста, смотрите код ниже. Любая помощь очень ценится, ребята!

 lftp -u $USER,$PASS sftp://$HOST <<EOF 2>amp;1

#find file file_name with absolutepath from REMOTE_DIR which lies in any of its subdirectories
filefound=`find "${REMOTE_DIR}"`-name "{$file_name}"`

#Get the absolutepath for subdirectory where the file resides
dir_loc=`dirname "${filefound}"`

lcd ${LOCAL_DIR}
cd ${dir_loc}
get ${file_name}
bye
EOF
  

Ошибка, которую я получаю, это:
найденный файл: команда не найдена
dir_loc: команда не найдена

Ответ №1:

Это концептуальное недоразумение.

Вы не можете запускать команды оболочки с помощью SFTP-клиента. Для запуска команд оболочки используйте SSH-клиент.