Архив метки: scripting

Немного об использовании /proc






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

Читать далее Немного об использовании /proc




Отправка сообщений в syslog из оболочки






Syslog — это протокол и приложение, призванные организовать централизованный приём сообщений от приложений для помещения их в лог-файлы, обычно располагающиеся в каталоге /var/log. В Ubuntu на сегодняшний день по умолчанию используется продвинутый демон syslog, называемый rsyslogd. В некоторых других дистрибутивах может использоваться sysklogd, но в рамках сегодняшней заметки это значения не имеет. Приложения обычно используют функции системных библиотек, чтобы отправить сообщение в syslog. А как быть, если вам нужно отправить сообщение из сценария оболочки? Здесь нам на помощь приходит logger — утилита-интерфейс к syslog.

Читать далее Отправка сообщений в syslog из оболочки




10 полезных утилит для использования в сценариях






Бытует мнение, что shell-сценарии могут обеспечивать пользовательский интерфейс лишь на уровне возможностей командной строки. Однако это не так. При помощи небольшого набора инструментов вы можете снабдить ваши сценарии дружелюбным графическим (меню, прогрессбары, диалоги и т. п.), текстовым (управлять цветом текста, перемещать курсор в любую позицию окна терминала и т. п.) пользовательским интерфейсом, а также легко работать с UNIX-сокетами. При помощи описанных ниже утилит вы можете создавать удобные и изящные с пользовательской точки зрения сценарии оболочки.

Создание GUI-приложений обычно является дорогим по времени и трудозатратам удовольствием. К счастью, UNIX и Linux снабжены средствами, позволяющими внедрять GUI-элементы в ваши shell-сценарии легко и быстро. Описываемые ниже инструменты тестировались автором на FreeBSD, но должны корректно работать и на многих остальных UNIX-системах.

Читать далее 10 полезных утилит для использования в сценариях




Коды возврата






В статье о сигналах мы рассматривали несложный механизм, позволяющий процессам в ОС реагировать на внешние события. Рассматривались способы отправки сигналов процессам при помощи kill, а также обработка поступающих сигналов в сценариях оболочки. Аналогично сигналам, коды возврата позволяют процессам взаимодействовать с вызвавшими их процессами. Эта тема частенько игнорируется пользователями, однако довольно! Сегодня мы поговорим о кодах возврата и работе с ними.

Читать далее Коды возврата




Основы Bash: циклы






Одно из основных правил системного администрирования можно выразить так: если вам нужно часто делать одно и то же, напишите сценарий, и пусть он делает эту работу за вас. Если вам необходимо выполнять какое-то действие внутри сценария несколько раз, то вам стоит воспользоваться циклами. В GNU Bash вы можете создавать циклы при помощи конструкций for, while и until.

Читать далее Основы Bash: циклы




Обработка сигналов в сценариях оболочки






Сигналы — это числовые сообщения, отправляемые запущенным приложениям операционной системой, другими приложениями или пользователем. Сигналы, как правило, ожидают от приложения какой-то определённой реакции, например «корректно заверши работу», «приостановись, чтобы я мог тебя перевести в фоновый режим» или «умри!».

Читать далее Обработка сигналов в сценариях оболочки




Перенаправления в bash при помощи exec






Если вы частенько работаете в командной строке, вы должны быть знакомы с перенаправлением ввода/вывода. Но, возможно, вы не знакомы с перенаправлением ввода/вывода внутри bash-скрипта. Я не имею ввиду перенаправление, используемое при вызове других программ из скрипта, я говорю о перенаправлении ввода/вывода вашего скрипта в целом, начиная с момента его запуска.

Читать далее Перенаправления в bash при помощи exec