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

Здесь есть возможность читать онлайн «Мендель Купер - Искусство программирования на языке сценариев командной оболочки» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Искусство программирования на языке сценариев командной оболочки»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Искусство программирования на языке сценариев командной оболочки», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Вариации

Арифметические подстановки в обратных одиночных кавычках (часто используются совместно с командой expr)

z=`expr $z + 3` # Команда 'expr' вычисляет значение выражения.

Арифметические подстановки в двойных круглых скобках, и предложение let

В арифметических подстановках, обратные одиночные кавычки могут быть заменены на двойные круглые скобки $((...))или очень удобной конструкцией, с применением предложения let.

z=$(($z+3))

# $((EXPRESSION)) -- это подстановка арифметического выражения. # Не путайте с

#+ подстановкой команд.

let z=z+3

let "z += 3" # Кавычки позволяют вставляьб пробелы и специальные операторы.

# Оператор 'let' вычисляет арифметическое выражение,

#+ это не подстановка арифметического выражения.

Все вышеприведенные примеры эквивалентны. Вы можете использовать любую из этих форм записи "по своему вкусу".

Примеры арифметических подстановок в сценариях:

1. Пример 12-6

2. Пример 10-14

3. Пример 25-1

4. Пример 25-6

5. Пример A-19

Глава 16. Перенаправление ввода/вывода

В системе по-умолчанию всегда открыты три "файла" -- stdin (клавиатура), stdout (экран) и stderr (вывод сообщений об ошибках на экран). Эти, и любые другие открытые файлы, могут быть перенапрвлены. В данном случае, термин "перенаправление" означает получить вывод из файла, команды, программы, сценария или даже отдельного блока в сценарии (см. Пример 3-1 и Пример 3-2) и передать его на вход в другой файл, команду, программу или сценарий.

С каждым открытым файлом связан дескриптор файла [ 44 ] дескриптор файла -- это просто число, по которому система идентифицирует открытые файлы. Рассматривайте его как упрощенную версию указателя на файл. . Дескрипторы файлов stdin, stdout и stderr -- 0, 1 и 2, соответственно. При открытии дополнительных файлов, дескрипторы с 3 по 9 остаются незанятыми. Иногда дополнительные дескрипторы могут сослужить неплохую службу, временно сохраняя в себе ссылку на stdin, stdout или stderr [ 45 ] При использрвании дескриптора с номером 5 могут возникать проблемы. Когда Bash порождает дочерний процесс, например командой exec, то дочерний процесс наследует дескриптор 5 как "открытый" (см. архив почты Чета Рамея (Chet Ramey), SUBJECT: RE: File descriptor 5 is held open) Поэтому, лучше не использовать этот дескриптор. . Это упрощает возврат дескрипторов в нормальное состояние после сложных манипуляций с перенаправлением и перестановками (см. Пример 16-1).

COMMAND_OUTPUT >

# Перенаправление stdout (вывода) в файл.

# Если файл отсутствовал, то он создется, иначе -- перезаписывается.

ls -lR > dir-tree.list

# Создает файл, содержащий список дерева каталогов.

: > filename

# Операция > усекает файл "filename" до нулевой длины.

# Если до выполнения операции файла не существовало,

# то создается новый файл с нулевой длиной (тот же эффект дает команда 'touch').

# Символ : выступает здесь в роли местозаполнителя, не выводя ничего.

> filename

# Операция > усекает файл "filename" до нулевой длины.

# Если до выполнения операции файла не существовало,

# то создается новый файл с нулевой длиной (тот же эффект дает команда 'touch').

# (тот же результат, что и выше -- ": >", но этот вариант неработоспособен

# в некоторых командных оболочках.)

COMMAND_OUTPUT >>

# Перенаправление stdout (вывода) в файл.

# Создает новый файл, если он отсутствовал, иначе -- дописывает в конец файла.

# Однострочные команды перенаправления

# (затрагивают только ту строку, в которой они встречаются):

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

1>filename

# Перенаправление вывода (stdout) в файл "filename".

1>>filename

# Перенаправление вывода (stdout) в файл "filename", файл открывается в режиме добавления.

2>filename

# Перенаправление stderr в файл "filename".

2>>filename

# Перенаправление stderr в файл "filename", файл открывается в режиме добавления.

&>filename

# Перенаправление stdout и stderr в файл "filename".

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

# Перенаправление stdout, только для одной строки.

LOGFILE=script.log

echo "Эта строка будет записана в файл \"$LOGFILE\"." 1>$LOGFILE

echo "Эта строка будет добавлена в конец файла \"$LOGFILE\"." 1>>$LOGFILE

echo "Эта строка тоже будет добавлена в конец файла \"$LOGFILE\"." 1>>$LOGFILE

echo "Эта строка будет выведена на экран и не попадет в файл \"$LOGFILE\"."

# После каждой строки, сделанное перенаправление автоматически "сбрасывается".

# Перенаправление stderr, только для одной строки.

ERRORFILE=script.errors

bad_command1 2>$ERRORFILE # Сообщение об ошибке запишется в $ERRORFILE.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Искусство программирования на языке сценариев командной оболочки» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Искусство программирования на языке сценариев командной оболочки» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x