Чтение онлайн

ЖАНРЫ

Искусство программирования на языке сценариев командной оболочки

Купер Мендель

Шрифт:

cu

Call Up -- выполняет соединение с удаленной системой, как простой терминал. Эта команда является частью пакета uucp и, своего рода, упрощенным вариантом команды telnet.

telnet

Утилита и протокол для подключения к удаленной системе.

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

wget

wget– - неинтерактивная

утилита для скачивания файлов с Web или ftp сайтов.

wget -p http://www.xyz23.com/file01.html

wget -r ftp://ftp.xyz24.net/~bozo/project_files/ -o $SAVEFILE

lynx

lynx– - Web браузер, внутри сценариев (с ключом – dump) может использоваться для скачивания файлов с Web или ftp сайтов, в неинтерактивном режиме.

lynx -dump>$SAVEFILE

rlogin

Remote login– - инициирует сессию с удаленной системой. Эта команда небезопасна, вместо нее лучше использовать ssh.

rsh

Remote shell– - исполняет команду на удаленной системе. Эта команда небезопасна, вместо нее лучше использовать ssh.

rcp

Remote copy– - копирование файлов между двумя машинами через сеть. Подобно прочим r* утилитам, команда rcp небезопасна и потому, использовать ее в сценариях нежелательно. В качестве замены можно порекомендовать ssh или expect.

ssh

Secure shell– - устанавливает сеанс связи и выполняет команды на удаленной системе. Выступает в качестве защищенной замены для telnet, rlogin, rcp и rsh. Использует идентификацию, аутентификацию и шифрование информации, передаваемой через сеть. Подробности вы найдете в man ssh.

Локальная сеть

write

Эта утилита позволяет передать текст сообщения на другой терминал (console или xterm). Разрешить или запретить доступ к терминалу можно с помощью команды mesg.

Поскольку команда write работает в интерактивном режиме, то, как правило, она не употребляется в сценариях.

Mail

mail

Чтение или передача электронной почты.

Этот почтовый клиент командной строки с успехом может использоваться в сценариях.

Пример 12-31. Сценарий, отправляющий себя самого по электронной почте

#!/bin/sh

# self-mailer.sh: Сценарий отправляет себя самого по электронной почте

adr=${1:-`whoami`} # Если пользователь не указан, то -- себе самому.

# Вызов 'self-mailer.sh wiseguy@superdupergenius.com'

#+ приведет к передаче электронного письма по указанному адресу.

# Вызов 'self-mailer.sh' (без аргументов) -- отправит письмо

#+

пользователю, запустившему сценарий, например, bozo@localhost.localdomain.

#

# Дополнительно о конструкции ${parameter:-default},

#+ см. раздел "Подстановка параметров"

#+ в главе "К вопросу о переменных".

# ============================================================================

cat $0 | mail -s "Сценарий \"`basename $0`\" отправил себя сам." "$adr"

# ============================================================================

# --------------------------------------------

# Поздравляю!

# Этот сценарий запустила какая-то "редиска",

#+ и заставила отправить этот текст к Вам.

# Очевидно кто-то не знает

#+ куда девать свое время.

# --------------------------------------------

echo "`date`, сценарий \"`basename $0`\" отправлен "$adr"."

exit 0

mailto

Команда mailto, похожа на mail, она также отправляет сообщения по электронной почте. Однако, кроме этого, mailto позволяет отправлять MIME (multimedia) сообщения.

vacation

Эта утилита предназначена для автоматической передачи ответов на электронные письма, например для того, чтобы уведомить отправителя о том, что получатель временно отсутствует. Работает совместно с sendmail и не может использоваться для передачи сообщений через коммутируемые линии (по модему).

12.7. Команды управления терминалом

Команды, имеющие отношение к консоли или терминалу

tput

инициализация терминала или выполнение запроса к базе данных терминалов terminfo. С помощью tput можно выполнять различные операции. tput clear– - эквивалентно команде clear. tput reset– - эквивалентно команде reset. tput sgr0– - так же сбрасывет настройки терминал, но без очистки экрана.

bash$ tput longname

xterm terminal emulator (XFree86 4.0 Window System)

Команда tput cup X Y перемещает курсор в координаты (X,Y). Обычно этой команде предшествует clear, очищающая экран.

Обратите внимание: stty предлагает более широкий диапазон возможностей.

infocmp

Cравнение или печать информации о характеристиках терминалов, хранящейся в базе данных terminfo.

Поделиться с друзьями: