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

case $TYPE in

1) MODE=binary;;

2) MODE=ascii;;

*) MODE=binary;;

esac

echo -n " Enter the name of the file to retrieve :"

read FILENAME

if [ "$FILENAME" — "" ]; then

echo "No filename entered" >&2

exit 1

fi

# по умолчанию, это tmp

echo -n -e "\f Enter the directory where the file ls to be placed[/tmp] :"

read DIREC

cd $DIREC >/dev/null 2>&1

# если нельзя перейти в нужный каталог, используйте tmp

if [ "$DIREC"="" ]; then

DIREC=/tmp

fi

if [ $? ! — 0 ] then

echo "$D1REC does not exist placing the file in /tmp anyway"

DIREC=/tmp

fi

echo -e "\t\tHost to connect is: $DEST_HQST"

echo -e "\t\tFile to get is: $FILENAME"

echo -e "\t\tMode to use is: $MODE"

echo -e "\t\tFile to be put in: $DIREC/$FILENAME.ftp"

echo -e -n "\t\tReady to get file 'y' or 'q' to quit? [y..q] :"

read ANS

case $ANS in

Y|y);;

q|Q) exit 0;;

*) exit 0 ;;

esac

echo "ftp.."

ftp -i -n $DEST_HOST << FTPIT

user anonymous $USER@$THIS_HOST

$MODE

get $FILENAME $DIREC/$FILENAME.ftp

quit

FTPIT

if [ -s $DIREC/$FILENAME.ftp ]

then

echo "File ls down"

else

echo "Unable to locate $FILENAME.ftp"

fi

Фактическая конструкция "документ здесь", применяемая при передаче файла с помощью ftp, использует опции ftp -i -n. Эти опции означают "не выводить какие‑либо автоматические запросы регистрации" и "отключение режима интерактивного запроса". Тогда сценарий выполняет регистрацию с помощью команды "user". Паролем является конструкция вида $user@THIS_HOST, которая имеет фактическое значение dave@bumper.

Предположим, что пользователь ежедневно загружает один и тот же файл с помощью одного и того же хоста и, возможно, при этом требуется сохранить определенные данные, полученные за предыдущий день. Тогда пользователю нет необходимости каждый раз вводить имя файла или данные для одного и того же удаленного хоста. Для полей DEST_HOST и filename можно установить значения, заданные по умолчанию. Применение заданных по умолчанию значений позволит не вводить в поля однотипную информацию.

Ниже приводится часть сценария ftpauto, который запрашивает название удаленного хоста. Однако теперь для поля DEST_HOST устанавливается значение, заданное по умолчанию, а именно my_favourite_host. Теперь пользователь может в ответ на запрос ввести другое название для удаленного хоста или нажать клавишу [Return]. Тогда значение, заданное по умолчанию, загружается в переменную DEST_HOST.

Обратите внимание, что нет необходимости проверять, ввел ли пользователь значение. Значение, заданное по умолчанию, присваивается переменной dest_host.

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

read DEST_HOST

: ${DEST_HQST:="my_favourite_host"}

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

traceroute $DEST_HOST >$tracelog 2>$1

<p><strong>25.5. Организация доступа к базам данных</strong></p>

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

Одна из систем баз данных 'select into' отключается в том случае, если база данных становится доступной для определенных программных продуктов сторонних производителей. Значит, некоторые базы данных нельзя использовать для ввода произвольных данных или для создания временных таблиц.

Для решения этой проблемы применяется конструкция "документ здесь", С помощью этой конструкции поддерживается связь с системной базой данных, а цикл for применяется для изменения "документа здесь" вместе с названиями баз данных. После установки подключения конструкция "документ здесь" применяется для поддержки команд sql, используемых для задания параметров.

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

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

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

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

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

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

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

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

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