Как использовать SFTP в сценарии для неинтерактивного получения файла с удаленного хоста?

Точно то, как тот возврат каретки оказался, трудно сказать.

Если бы сценарий был сгенерирован другим сценарием или приложением, то это могло бы быть ошибкой или предназначило неудачу.

Скорее всего, Вы или кто бы ни отредактировал файл, неумышленно нажали порождение сочетания клавиш CR быть вставленным.

Примеры:

  • vim : Ctrl-m Ctrl-v
  • emacs: Ctrl-m Ctrl-q
  • И многие другие.

Существуют другие символы, которые могут доставить неприятности также, например, no-break-space в коде и т.д. Это обычно вызывает странные ошибки при запущении скриптов или компиляции кода.

Я обычно использую vim и часто набор (имеют сочетание клавиш для переключения этого):

match Error /[^ -~\t]/

Это: выделите все, но <space> кому: ~ в ASCII и tab с Error, обычно белый на красном и т.д.

Для файлов кода я обычно имею, это установлено на по умолчанию.


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

Например:

#!/bin/bash

for i in {1..100}; do
    printf "We are now at %3d%%\r" "$i"
    sleep .1
done

printf "\nAll done.\n"

\r, при использовании printf результат в <CR> или возврат каретки.
\n, при использовании printf результат в <LF> или перевод строки.

5
31.07.2015, 10:25
2 ответа

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

затем

 scp username@100.X.X.X:Bharthi/* $path

на локальном хосте, посмотрите каталог .ssh , если у вас нет .pub, сначала выполните следующее (и только один раз)

ssh-keygen (1)
scp-copy-id username@100.X.X.X (2)
  1. примите все значения по умолчанию, НЕ вводите пароль при запросе
  2. введите пароль для имени пользователя @ 100.XXX
3
27.01.2020, 20:39

С завитком:

curl sftp://example.com/file.zip -u user:password 

Обратите внимание, что для этого общедоступного -ключа аутентификация предпочтительнее использования пароля:

curl sftp://example.com/file.zip -u user

Будет предпринята попытка использовать ~/.ssh/id_rsaв качестве закрытого ключа. Вы можете указать другой с помощью --key.

5
27.01.2020, 20:39

Теги

Похожие вопросы