Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Автоматизация передачи файлов по протоколу ftp является одним из широко распространенных методов применения конструкции "документ здесь". При использовании протокола ftp желательно предоставить пользователю несложный интерфейс для удобства работы. В следующем сценарии для создания подключения ftp применяется анонимное имя пользователя. Это специальное имя позволяет системе создавать защищенные учетные записи ftp, содержащие общедоступные каталоги (public). В общем случае каждый пользователь при установке подключения с использованием анонимного имени сможет только загружать файлы из данного общедоступного каталога. Но можно будет также выполнять выгрузку файлов.

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

Приведенный ниже сценарий запрашивает следующую информацию:

   1. Адрес удаленного компьютера, с которым требуетця установить связь.

   2. Тип передаваемых файлов: двоичный или ASCII.

   3. Имя получаемого файла.

   4. Локальный каталог, в котором размещается выбранный файл.

Когда пользователь вводит наименование удаленного компьютера, с которым устанавливается соединение, для удаленного хоста выполняется команда ttaceroute. Таким образом, можно быть уверенным в том, что соединение действительно установлено. Если же результат выполнения команды traceroute был неудачным, сценарий отображает повторный запрос.

При нажатии клавиши [Return] по умолчанию принимается двоичный режим передачи файлов. После ввода имени загружаемого файла пользователя запрашивают о каталоге назначения для загружаемого файла. По умолчанию этим каталогом служит каталог /tmp. Если пользователь указывает другой каталог, который не может быть найден, используется каталог /tmp.

Именем загружаемого файла будет имя файла с присоединенным к нему расширением .ftp. И, наконец, после того как все эти варианты отображаются и подтверждаются, начинается процесс передачи файлов.

Ниже показано, как выглядят результаты выполнения сценария.

$ ftpauto

Enter the host you wish to access: uniware

Wait… seeing If uniware ls out there..

bumper can see unaware

What type of transfer / receive mode ?

   1. : Binary

   2. : ASCII

Your choice [1…2] [1] :

Enter the name of the file to retrieve :gnutar. Z Enter the directory where the file ls to be placed[/tmp] :

Host to connect ls: uniware

File to get ls : gnutar.Z

Mode to use ls : binary

File to be put in : /tmp/gnutar.Z.ftp

Ready to get file 'y' or 'q' to quit? [y..q] :

Далее приводится соответствующий сценарий.

$ pg ftpauto

#!/bin/sh

#сценарий ftp

#ftpauto

USER=`whoami`

MYDATE=`date +%d/%m/%Y`

THIS_HOST=`hostname -s`

tracelog=/tmp/tracelog.$$

while :

do

# бесконечный цикл

tput clear

cat << MAYDAY

User: $USER $MYDATE

This host: $THIS_HOST

FTP RETRIEVAL SCRIPT

Using the ID of anonymous

MAYDAY

echo -n "Enter the host you wish to access :"

read DEST_HOST

# введено ли имя хоста ???

if [ "$DEST_HOST"="" ]

then

echo "No destination host entered" >&2

exit 1

fi

# можно ли увидеть хост ???

echo "wait..seeing if $DEST_HOST is out there.."

# traceroute проверяет соединение

traceroute $DEST_HOST > $tracelog 2>&1

if grep "unknown host" $tracelog >/dev/null 2>&1; then

echo "Could not locate $DEST_HOST"

echo -n "Try another host? [y..n] :"

read ANS

case $ANS in

y|Y) ;;

*) break;; # выход из бесконечного цикла

esac else

echo "$THIS_HOST can see $DEST_HOST"

break # выход из бесконечного цикла

fi

done

# по умолчанию двоичный режим

echo "What type of transfer /receive mode ?"

echo " 1 : Binary"

echo " 2 : ASCII"

echo -n -e "\fYour choice [1..2] [1]:"

read $TYPE

Перейти на страницу:

Похожие книги

112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)
112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)

  По Парижу приятно гулять, бесцельно бродить, кружить по узким улочкам, отдыхать в маленьких кафе и в парках у фонтанов. Здесь есть все для любителей архитектуры, ценителей живописи, театралов, меломанов, гурманов, поклонников всевозможных развлечений. Париж притягивает, удивляет, очаровывает, постепенно приоткрывая тайны любознательному гостю, который теряется от сложности выбора: что же увидеть прямо сейчас, а что отложить на потом. Мои 112 страниц про Париж, надеюсь, помогут сделать этот выбор. Предложенные 7 прогулок по городу включают в себя не только известные всему миру достопримечательности, но и множество других, которые часто остаются за пределами стандартных туристических маршрутов.  

Елена Р Стамбулян , Елена Р. Стамбулян

Руководства / Путеводители / Словари и Энциклопедии
40+. Уход за телом
40+. Уход за телом

Женщина после 40 лет – настоящая богиня, умудренная опытом и оттого еще более прекрасная. Но чтобы надолго сохранить красоту и молодость, нужно постоянно собой заниматься: ухаживать за своим телом, руками и ногами, выполнять физические упражнения и соблюдать диету. Благодаря этой книге вы научитесь самостоятельно готовить омолаживающие, питательные, увлажняющие кремы и маски, а также скрабы и пилинги из натуральных продуктов; выполнять легкие и эффективные упражнения для стройной фигуры и профилактики варикозного расширения вен, делать массаж рук и ног, навсегда избавитесь от целлюлита и сможете легко ориентироваться в выборе омолаживающих процедур в СПА-салонах и хирургических операций в клиниках красоты. Правила здорового питания, популярные диеты и рецепты полезных блюд – в этой книге есть все, что поможет 40-летним женщинам всегда быть в форме.

Анастасия Витальевна Колпакова

Здоровье / Руководства / Здоровье и красота / Дом и досуг / Словари и Энциклопедии