ftp и shebang

Есть ли способ для shebang-ify ftp и написать небольшие скрипты ftp?

Например:

#!/usr/bin/ftp open 192.168.1.1 put *.gz quit 

Есть предположения?

One Solution collect form web for “ftp и shebang”

Не с ftp программами, с которыми я столкнулся, так как они ожидают, что скрипт на их стандартном входе, но shebang передаст имя сценария в своей командной строке.

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

 #!/bin/sh ftp <<EOF open 192.168.1.1 put *.gz EOF 

Lftp принимает имя скрипта, переданное в качестве аргумента.

 #!/usr/bin/lftp -f open 192.168.1.1 put *.gz 

Ncftp поставляется с двумя инструментами ncftpget и ncftpput для простых партий ncftpput .

Zsh включает FTP-модуль . Преимущество использования правильной оболочки, а не прямого FTP-скрипта, заключается в том, что вы можете реагировать на сбои.

 #!/bin/zsh zmodload zsh/zftp open 192.168.1.1 put *.gz 

Конечно, есть много других языков, которые вы могли бы использовать: Perl, Python, Ruby и т. Д.

Другой подход – установить FTP-сервер в качестве каталога, а затем использовать cp (или rsync или другие инструменты) для копирования файлов. Существует много файловых систем FUSE для доступа к FTP, главным образом CurlFtpFS и LftpFS .

Обратите внимание: если вы планируете использовать аутентификацию (вероятно, если вы загружаете), и у вас есть контроль над сервером, вам будет лучше с SSH-доступом. Это более безопасно и более гибко. Чтобы скопировать файлы через SSH, вы можете использовать scp или sftp или rsync для эффективной синхронизации (если некоторые из файлов уже могут быть там) или Unison (для двунаправленной синхронизации) или mount с SshFS .

  • Пропустить stdin в качестве аргумента для скрипта bash
  • Как выполнить удаленный сценарий оболочки через SSH и получить запрос на пароли командами, которые требуют этого в этом скрипте?
  • Извлечение частей строки, разделенной пробелами
  • Неожиданная ошибка EOF и синтаксиса
  • Нужна команда для отображения эха «успех»
  • не может получить hello world shell script для запуска в FreeBSD
  • Комбинированные переменные с переменными входами в одну строку
  • Строки из двух разных массивов не совпадают?
  • Использование инструкции If в Crontab для создания оповещения
  • Запись вывода команды в файл в сценарии bash
  • Разрешить пользователям запускать только определенные двоичные файлы с правами root / привилегиями
  • Interesting Posts

    Игнорирование зависимостей при установке с помощью yum (Scientific Linux)

    Нижнее разрешение LVDS-0 в разном соотношении сторон nVidia

    Восстановить текстовые файлы и структуру каталогов из базы данных, созданной Recoll?

    CLFS: создание перекрестного компилятора GCC

    Общесистемный способ установить или получить $ JAVA_HOME в Ubuntu?

    Несколько типов доступа ssh от данного пользователя1 / клиента к одному пользователю2 / серверу

    Как изменить права на файлы / каталоги на установленном каталоге nfs, поэтому я обращаюсь к файлам как пользователь?

    Не удается получить адрес через DHCP

    Пользователь, не являющийся пользователем Samba, не может писать для совместного использования

    Создание концентрических кругов в GIMP

    Разрешить удаление sudo для удаленного пользователя для цели восстановления. Последствия для безопасности?

    Скрыть часть соответствия от результата grep

    Перенос файлов конфигурации KDE

    Как сбрасывать данные BIOS в файл

    Ошибки файловой системы при восстановлении многих файлов

    Linux и Unix - лучшая ОС в мире.