Развитая среда Linux содержит много различных программных инструментальных средств (например, интерпретатор expect), которые могут использоваться для выполнения всевозможных задач. Ещё одним способом автоматизации передачи файлов (и других задач) является команда autoexpect. Она позволяет создать сценарий expect с перечнем задач, выполняемых во время сеанса autoexpect.
Для автоматизации передачи FTP используйте опцию -f командной строки команды autoexpect, указав за ней имя требуемой команды и начальную командную строку:
# autoexpect -f eftp ftp pc-inform.ru
autoexpect started, file is eftp
Connected to pc-inform.ru
220 pc-inform.ru FTP server (Version wu-2.4.2-academ[BETA-18](1)
Mon Jun 6 19:17:20 EDT 2005) ready.
Name (pc-inform:):bball
Bball
331 Password required for bball.
Password:mypassword
230 User bball logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get happy2.jpg
get happy2.jpg
local: happy2.jpg remote: happy2.jpg
227 Entering Passive Mode (192,168,1,36,5,64)
150 Opening BINARY mode data connection for happy2.jpg (34636 bytes).
100%|**************************************| 34636 00:00 ETA
226 Transfer complete.
34636 bytes received in 0.03 seconds (1.10 MB/s)
ftp> bye
bye
221 GoodBye.
Autoexpect done, file is eftp
В данном сеансе создаётся исполняемый файл eftp, который позволяет выполнить подключение к удалённому компьютеру, регистрацию, выкачивание файла happy2.jpg, а затем отключение. Для вызова автоматического сеанса FTP наберите eftp из командной строки следующим образом: