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


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

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

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

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

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

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

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

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

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



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






выводит (на stdout) выражение или содержимое переменной (см. Пример 4-1).

echo Hello

echo $a


Для вывода экранированных символов, echo требует наличие ключа -e. См. Пример 5-2.

Обычно, командв echo выводит в конце символ перевода строки. Подавить вывод это символа можно ключом -n.

Команда echo может использоваться для передачи информации по конвейеру другим командам.

if echo "$VAR" | grep -q txt # if [[ $VAR = *txt* ]]

then

echo "$VAR содержит подстроку \"txt\""

fi


Кроме того, команда echo, в комбинации с подстановкой команд может учавствовать в операции присвоения значения переменной.

a=`echo "HELLO" | tr A-Z a-z`

См. так же Пример 12-15, Пример 12-2, Пример 12-32 и Пример 12-33.

Следует запомнить, что команда echo `command` удалит все символы перевода строки, которые будут выведены командой command.

Переменная $IFS обычно содержит символ перевода строки \n, как один из вариантов пробельного символа. Bash разобьет вывод команды command, по пробельным символам, на аргументы и передаст их команде echo, которая выведет эти аргументы, разделенные пробелами.

bash$ ls -l /usr/share/apps/kjezz/sounds

-rw-r--r-- 1 root root 1407 Nov 7 2000 reflect.au

-rw-r--r-- 1 root root 362 Nov 7 2000 seconds.au


bash$ echo `ls -l /usr/share/apps/kjezz/sounds`

total 40 -rw-r--r-- 1 root root 716 Nov 7 2000 reflect.au -rw-r--r-- 1 root root 362 Nov 7 2000 seconds.au


Это встроенная команда Bash и имеет внешний аналог /bin/echo.

bash$ type -a echo

echo is a shell builtin

echo is /bin/echo


printf

printf -- команда форматированного вывода, расширенный вариант команды echo и ограниченный вариант библиотечной функции printf() в языке C, к тому же синтаксис их несколько отдичается друг от друга.

printf format-string... parameter...

Это встроенная команда Bash. Имеет внешний аналог /bin/printf или /usr/bin/printf. За более подробной информацией обращайтесь к страницам справочного руководства man 1 printf по системным командам.

Старые версии Bash могут не поддерживать команду printf.

Пример 11-1. printf в действии

#!/bin/bash

# printf demo


# От переводчика:

# Считаю своим долгом напомнить, что в качестве разделителя дробной и целой

# частей в вещественных числах, может использоваться символ "запятая"

# (в русских локалях), поэтому данный сценарий может выдавать сообщение

# об ошибке (у меня так и произошло) при выводе числа PI.

# Тогда попробуйте заменить в определении числа PI десятичную точку

# на запятую -- это должно помочь. ;-)


PI=3,14159265358979

DecimalConstant=31373

Message1="Поздравляю,"

Message2="Землянин."


echo


printf "Число пи с точностью до 2 знака после запятой = %1.2f" $PI

echo

printf "Число пи с точностью до 9 знака после запятой = %1.9f" $PI # Даже округляет правильно.


printf "\n" # Перевод строки,


printf "Константа = \t%d\n" $DecimalConstant # Вставлен символ табуляции (\t)


printf "%s %s \n" $Message1 $Message2


echo


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

# Эмуляция функции 'sprintf' в языке C.

# Запись форматированной строки в переменную.


echo


Pi12=$(printf "%1.12f" $PI)

echo "Число пи с точностью до 12 знака после запятой = $Pi12"


Msg=`printf "%s %s \n" $Message1 $Message2`

echo $Msg; echo $Msg


exit 0

Одно из полезных применений команды printf -- форматированный вывод сообщений об ошибках

E_BADDIR=65


var=nonexistent_directory


error()

{

printf "$@" >&2

# Форматированный вывод аргументов на stderr.

echo

exit $E_BADDIR

}


cd $var || error $"Невозможно перейти в каталог %s." "$var"


# Спасибо S.C.


read

"Читает" значение переменной с устройства стандартного ввода -- stdin, в интерактивном режиме это означает клавиатуру. Ключ -a позволяет записывать значения в массивы (см. Пример 25-3).

Пример 11-2. Ввод значений переменных с помощью read

#!/bin/bash


echo -n "дите значение переменной 'var1': "

# Ключ -n подавляет вывод символа перевода строки.


read var1

# Обратите внимание -- перед именем переменной отсутствует символ '$'.


echo "var1 = $var1"


echo


# Одной командой 'read' можно вводить несколько переменных.

echo -n "дите значения для переменных 'var2' и 'var3' (через пробел или табуляцию): "

read var2 var3

echo "var2 = $var2 var3 = $var3"

# Если было введено значение только одной переменной, то вторая останется "пустой".


exit 0

Если команде read не была передано ни одной переменной, то ввод будет осуществлен в переменную $REPLY.

Пример 11-3. Пример использования команды read без указания переменной для ввода

#!/bin/bash


echo


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

# Первый блок кода.

echo -n "Введите значение: "

read var

echo "\"var\" = "$var""

# Здесь нет ничего неожиданного.

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


echo


echo -n "Введите другое значение: "

read # Команда 'read' употребляется без указания переменной для ввода,

#+ тем не менее...

#+ По-умолчанию ввод осуществляется в переменную $REPLY.

var="$REPLY"

echo "\"var\" = "$var""

# Эта часть сценария эквивалентна первому блоку, выделенному выше.


echo


exit 0

Обычно, при вводе в окне терминала с помощью команды "read", символ \ служит для экранирования символа перевода строки. Ключ -r заставляет интерпретировать символ \ как обычный символ.

Пример 11-4. Ввод многострочного текста с помощью read

#!/bin/bash


echo


echo "Введите строку, завершающуюся символом \\, и нажмите ENTER."

echo "Затем введите вторую строку, и снова нажмите ENTER."

read var1 # При чтении, символ "\" экранирует перевод строки.

# первая строка \

# вторая строка


echo "var1 = $var1"

# var1 = первая строка вторая строка


# После ввода каждой строки, завершающейся символом "\",

# вы можете продолжать ввод на другой строке.


echo; echo


echo "Введите другую строку, завершающуюся символом \\, и нажмите ENTER."

read -r var2 # Ключ -r заставляет команду "read" воспринимать "\"

# как обычный символ.

# первая строка \


echo "var2 = $var2"

# var2 = первая строка \


# Ввод данных прекращается сразу же после первого нажатия на клавишу ENTER.


echo


exit 0

Команда read имеет ряд очень любопытных опций, которые позволяют выводить подсказку - приглашение ко вводу (prompt), и даже читать данные не дожидаясь нажатия на клавишу ENTER.

# Чтение данных, не дожидаясь нажатия на клавишу ENTER.


read -s -n1 -p "Нажмите клавишу " keypress

echo; echo "Была нажата клавиша "\"$keypress\""."


# -s -- подавляет эхо-вывод, т.е. ввод с клавиатуры не отображается на экране.

# -n N -- ввод завершается автоматически, сразу же после ввода N-го символа.

# -p -- задает вид строки подсказки - приглашения к вводу (prompt).


# Использование этих ключей немного осложняется тем, что они должны следовать в определенном порядке.


Ключ -n, кроме всего прочего, позволяет команде read обнаруживать нажатие курсорных и некоторых других служебных клавиш.

Пример 11-5. Обнаружение нажатия на курсорные клавиши

#!/bin/bash


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

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

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


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

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

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

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

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

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

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