Библиотека knigago >> Компьютеры: Языки и системы программирования >> Другие языки и системы программирования >> Искусство программирования на языке сценариев командной оболочки


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 829, книга: Голубая луна
автор: Лорел Кей Гамильтон

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

СЛУЧАЙНАЯ КНИГА

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

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

Жанр:

Другие языки и системы программирования, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Unix, Системное программирование

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

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

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

Читаем онлайн "Искусство программирования на языке сценариев командной оболочки". [Страница - 2]

себя исходные тексты программ, доступные для всеобщего обозрения)


Если выполняется хотя бы одно из вышеперечисленных условий, то вам лучше обратиться к более мощным скриптовым языкам программирования, например Perl, Tcl, Python, Ruby или к высокоуровневым компилирующим языкам -- C, C++ или Java. Но даже в этом случае, создание прототипа приложения на языке shell может существенно облегчить разработку.

Название BASH -- это аббревиатура от "Bourne-Again Shell" и игра слов от, ставшего уже классикой, "Bourne Shell" Стефена Бурна (Stephen Bourne). В последние годы BASH достиг такой популярности, что стал стандартной командной оболочкой de facto для многих разновидностей UNIX. Большинство принципов программирования на BASH одинаково хорошо применимы и в других командных оболочках, таких как Korn Shell (ksh), от которой Bash позаимствовал некоторые особенности[ 2 ], и C Shell и его производных. (Примечательно, что C Shell не рекомендуется к использованию из-за отдельных проблем, отмеченных Томом Кристиансеном (Tom Christiansen) в октябре 1993 года на Usenet post

Далее, в тексте документа вы найдете большое количество примеров скриптов, иллюстрирующих возможности shell. Все примеры -- работающие. Они были протестированы, причем некоторые из них могут пригодиться в повседневной работе. Уважаемый читатель можеть "поиграть" с рабочим кодом скриптов, сохраняя их в файлы, с именами scriptname.sh.[ 3 ] Не забудьте выдать этим файлам право на исполнение (chmod u+rx scriptname), после чего сценарии можно будет запустить на исполнение и проверить результат их работы. Вам следует помнить, что описание некоторых примеров следует после исходного кода этого примера, поэтому, прежде чем запустить сценарий у себя -- ознакомьтесь с его описанием.

Скрипты были написаны автором книги, если не оговаривается иное.


(обратно)

Глава 2. Для начала о Sha-Bang

В простейшем случае, скрипт -- это ни что иное, как простой список команд системы, записанный в файл. Создание скриптов поможет сохранить ваше время и силы, которые тратятся на ввод последовательности команд всякий раз, когда необходимо их выполнить.

(обратно)

Пример 2-1. cleanup: Сценарий очистки лог-файлов в /var/log

# cleanup

# Для работы сценария требуются права root.


cd /var/log

cat /dev/null > messages

cat /dev/null > wtmp

echo "Лог-файлы очищены."

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

(обратно)

Пример 2-2. cleanup: Расширенная версия предыдущего сценария.

#!/bin/bash

# cleanup, version 2

# Для работы сценария требуются права root.


LOG_DIR=/var/log

ROOT_UID=0 # Только пользователь с $UID 0 имеет привилегии root.

LINES=50 # Количество сохраняемых строк по-умолчанию.

E_XCD=66 # Невозможно сменить каталог?

E_NOTROOT=67 # Признак отсутствия root-привилегий.


if [ "$UID" -ne "$ROOT_UID" ]

then

echo "Для работы сценария требуются права root."

exit $E_NOTROOT

fi


if [ -n "$1" ]

# Проверка наличия аргумента командной строки.

then

lines=$1

else

lines=$LINES # Значение по-умолчанию, если число не задано в командной строке

fi


# Stephane Chazelas предложил следующее,

#+ для проверки корректности аргумента, переданного из командной строки,

#+ правда это достаточно сложно для данного руководства.

#

# E_WRONGARGS=65 # Не числовой аргумент

#

# case "$1" in

# "" ) lines=50;;

# *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;

# * ) lines=$1;;

# esac

#

#* Конец проверки корректности аргумента


cd $LOG_DIR


if [ `pwd` != "$LOG_DIR" ] # или if [ "$PWD" != "$LOG_DIR" ]

# Не в /var/log?

then

echo "Невозможно перейти в каталог $LOG_DIR."

exit $E_XCD

fi # Проверка каталога перед очисткой лог-файлов.


# более эффективный вариант:

#

# cd /var/log || {

# echo "Невозможно перейти в требуемый каталог." >&2

# exit $E_XCD;

# }


tail -$lines messages > mesg.temp # Сохранить последние строки в лог-файле.

mv mesg.temp messages


# cat /dev/null > messages

#* Необходимость этой команды отпала, поскольку очистка выполняется выше.


cat /dev/null > wtmp # команды ': > wtmp' и '> wtmp' имеют тот же эффект.

echo "Лог-файлы очищены."


exit 0

# Возвращаемое значение 0

#+ указывает на успешное завершение работы сценария.

Если вы не желаете полностью вычищать системные логи, то выше представлена улучшенная версия предыдущего сценария. --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

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

Введение в языки программирования. Д. В. Баррон
- Введение в языки программирования

Жанр: Программирование: прочее

Год издания: 1980

Серия: Математическое обеспечение ЭВМ

Математика на языке R. Сергей Алексеевич Зададаев
- Математика на языке R

Жанр: Учебники и самоучители по компьютеру

Год издания: 2018

Серия: Учебники для вузов. Специальная литература