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


Авторские права

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

Здесь можно скачать бесплатно "Мендель Купер - Искусство программирования на языке сценариев командной оболочки" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Мендель Купер - Искусство программирования на языке сценариев командной оболочки
Рейтинг:
Название:
Искусство программирования на языке сценариев командной оболочки
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

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



Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток, постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.






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

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

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

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

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

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

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


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.

bash$ infocmp

# Reconstructed via infocmp from file:

/usr/share/terminfo/r/rxvt

rxvt|rxvt terminal emulator (X Window System),

am, bce, eo, km, mir, msgr, xenl, xon,

colors#8, cols#80, it#8, lines#24, pairs#64,

acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,

bel=^G, blink=\E[5m, bold=\E[1m,

civis=\E[?25l,

clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,

...


reset

Сбрасывает настройки терминала и очищает экран. Как и в случае команды clear, курсор и приглашение к вводу (prompt) выводятся в верхнем левом углу терминала.

clear

Команда clear просто очищает экран терминала или окно xterm. Курсор и приглашение к вводу (prompt) выводятся в верхнем левом углу терминала. Эта команда может запускаться как из командной строки, так и из сценария. См. Пример 10-25.

script

Эта утилита позволяет сохранять в файле все символы, введенные пользователем c клавиатуры (вывод тоже). Получая, фактически, подробнейший синхронный протокол сессии.


12.8. Команды выполнения математических операций

factor

Разложение целого числа на простые множители.

bash$ factor 27417

27417: 3 13 19 37


bc

Bash не в состоянии выполнять действия над числами с плавающей запятой и не содержит многих важных математических функций. К счастью существует bc.

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

Синтаксис bc немного напоминает язык C.

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

Ниже приводится простой шаблон работы с утилитой bc в сценарии. Здесь используется прием подстановки команд.

variable=$(echo "OPTIONS; OPERATIONS" | bc)


Пример 12-32. Ежемесячные выплаты по займу

#!/bin/bash

# monthlypmt.sh: Расчет ежемесячных выплат по займу.


# Это измененный вариант пакета "mcalc" (mortgage calculator),

#+ написанного Jeff Schmidt и Mendel Cooper (ваш покорный слуга).

# http://www.ibiblio.org/pub/Linux/apps/financial/mcalc-1.6.tar.gz [15k]


echo

echo "Введите сумму займа, процентную ставку и срок займа,"

echo "для расчета суммы ежемесячных выплат."


bottom=1.0


echo

echo -n "Сумма займа (без запятых -- с точностью до доллара) "

read principal

echo -n "Процентная ставка (процент) " # Если 12%, то нужно вводить "12", а не ".12".

read interest_r

echo -n "Срок займа (месяцев) "

read term


interest_r=$(echo "scale=9; $interest_r/100.0" | bc) # Здесь "scale" -- точность вычислений.


interest_rate=$(echo "scale=9; $interest_r/12 + 1.0" | bc)


top=$(echo "scale=9; $principal*$interest_rate^$term" | bc)


echo; echo "Прошу подождать. Вычисления потребуют некоторого времени."


let "months = $term - 1"

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

for ((x=$months; x > 0; x--))

do

bot=$(echo "scale=9; $interest_rate^$x" | bc)

bottom=$(echo "scale=9; $bottom+$bot" | bc)

# bottom = $(($bottom + $bot"))

done

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

# Rick Boivie предложил более эффективную реализацию

#+ цикла вычислений, который дает выигрыш по времени на 2/3.


# for ((x=1; x <= $months; x++))

# do

# bottom=$(echo "scale=9; $bottom * $interest_rate + 1" | bc)

# done


# А затем нашел еще более эффективную альтернативу,

#+ которая выполняется в 20 раз быстрее !!!


# bottom=`{

# echo "scale=9; bottom=$bottom; interest_rate=$interest_rate"

# for ((x=1; x <= $months; x++))

# do

# echo 'bottom = bottom * interest_rate + 1'

# done

# echo 'bottom'

# } | bc` # Внедрить цикл 'for' в конструкцию подстановки команд.


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


# let "payment = $top/$bottom"

payment=$(echo "scale=2; $top/$bottom" | bc)

# Два знака после запятой, чтобы показать доллары и центы.


echo

echo "ежемесячные выплаты = \$$payment" # Вывести знак "доллара" перед числом.

echo


exit 0


# Упражнения:

# 1) Добавьте возможность ввода суммы с точностью до цента.

# 2) Добавьте возможность ввода процентной ставки как в виде процентов, так и в виде десятичного числа -- доли целого.

# 3) Если вы действительно честолюбивы,

# добавьте в сценарий вывод полной таблицы помесячных выплат.

Пример 12-33. Перевод чисел из одной системы счисления в другую

:

##########################################################################

# Shellscript: base.sh - вывод чисел в разных системах счисления (Bourne Shell)

# Author : Heiner Steven ([email protected])

# Date : 07-03-95

# Category : Desktop

# $Id: base.sh,v 1.2 2000/02/06 19:55:35 heiner Exp $

##########################################################################

# Description

#

# Changes

# 21-03-95 stv исправлена ошибка, возникающая при вводе числа 0xb (0.2)

##########################################################################


# ==> Используется в данном документе с разрешения автора.

# ==> Комментарии добавлены автором документа.


NOARGS=65

PN=`basename "$0"` # Имя программы

VER=`echo '$Revision: 1.2 $' | cut -d' ' -f2` # ==> VER=1.2


Usage () {

echo "$PN - вывод чисел в различных системах счисления, $VER (stv '95)

Порядок использования: $PN [number ...]


Если число не задано, то производится ввод со stdin.

Число может быть:

двоичное должно начинаться с комбинации символов 0b (например 0b1100)

восьмеричное должно начинаться с 0 (например 014)

шестнадцатиричное должно начинаться с комбинации символов 0x (например 0xc)

десятичное в любом другом случае (например 12)" >&2

exit $NOARGS

} # ==> Функция вывода сообщения о порядке использования.


Msg () {

for i # ==> [список] параметров опущен.

do echo "$PN: $i" >&2

done

}


Fatal () { Msg "$@"; exit 66; }


PrintBases () {

# Определение системы счисления


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

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


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Мендель Купер

Мендель Купер - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.