Метка «bash» - 4

Проблема

По долгу службы приходится активно использовать Shell скрипты на ОС Linux.
Притом что все скрипты фактически одинаковые по своей сути – генерация данных. Немалое количество времени уходит на написание и отладку правильности проверки входной информации от заказчика. И соответственно определение параметров генерации данных на основании этих входных параметров.

В основе проверок лежат статические определенные спецификациями данные, зачастую таблицы, в результате сверок формируются новые необходимые параметры для дальнейшей генерации. При этом работа по настройке проверочной информации требует аккуратности и внимательности, поскольку возможные ошибки могут стоить дорого.
Стадия проверки в основном состоит из нагромождения вложенных конструкций case и if.Была мысль делать разбор табличек через систему cut ( таблица )> read var1 var2 var3 потом if-ы, а потом куда-то формировать результат — но все это не очень удобно и не красиво, хотелось минимального синтаксиса.
Читать полностью »

И так, мы хотим разбирать параметры командной строки в нашем скрипте, и мы хотим учесть

  • Опции без аргументов
  • Опции с аргументами
  • Проверку отсутствия аргумента
  • Проверку неизвестных опций
  • Проверку отсутствия параметров
  • Оформить эту часть скрипта как функцию

И вот вам сразу самый тру способ, к которому я смог прийти
Читать полностью »

Возможно кого-то, также как и меня, некоторые обстоятельства принуждают использовать Windows. И, возможно, также хочется несмотря на это видеть красивую, изящную консоль, например как в Ubuntu. Правда, на скорости работы, к сожалению, это не отобразится.

В итоге терминал для git у нас будет выглядеть примерно вот так:

Красивая консоль для работы с git под Windows
Читать полностью »

После приобретения RPi, установки кучи всяких вкусностей, понял, что надо что-то делать со скоростью работы торрент-трекера. Когда он качает на полной скорости — быстро качаются треки, но невозможно нормально пользоваться интернетом. Приходится постоянно лезть в веб интерфейс и резать скорость. Если качает медленно — это напрягает длиииительностью процесса. Все это порядком поднадоело, поэтому было решено автоматизировать этот процесс
image
Читать полностью »

Система мониторинга: зачем?

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

Лично я разрабатывал эту систему для решения проблемы скрытого удаленного наблюдения за вверенными мне компами. На этапе реализации мне предложили получить некоторый профит с этого проекта и сделать все на BASH как проект для некоторой конференции.

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

Описание платформы, зависимости

Не так давно я обновился до 12.10й версии всеми любимой Kubuntu (Ubuntu с KDE в качестве WM, GNOME не переношу). Система девственно чиста, никаких манипуляций с ней не производилось, так что в ней не будет пакетов, которых нет у Вас.
Ядро 3.5.0-21, KDE. Для работы самой системы нам понадобятся дополнительные пакеты, которые можно найти в стандартном репозитории. Набираем следующее:

sudo -s
apt-get install perl
apt-get install libnotify-bin
apt-get install lm-sensors
apt-get install sysstat
apt-get install apache2
exit

Перл нам будет нужен для выполнения скрипта-обработчика строк, libnotify — для вывода уведомления, lm-sensors — для снятия температуры, sysstat — для сбора статистики по I/O, apache2 — вебсервер для отображения. Ну, само-собой нужен любой текстовый редактор с подсветкой синтаксиса.

Реализация

Сначала я сверстал шаблон на дивах, в ряде случаев получился тизер фильма «Начало», но в целом структура дерева DOM корректна. Дальше спроектируем систему, которая будет заполнять этот шаблон. Для этого напишем скрипт на BASH. Для этого следует знать, что для нашего (Ubuntu) дистрибутива дефолтной директорией для вебсервера апач будет /var/www. Следовательно, если кроме нашей системы ничего не будет в открытом доступе, вывод реализуем сразу в index.html.

Сам скрипт предельно простой: команда echo выводит в stdout входной параметр, мы этот выхлоп перенаправляем в файл. Так мы сможем передать в html из BASH шаблон. С точки зрения теории алгоритмов, мы получаем уже специализированный код.
Читать полностью »

image

Добрый день, товарищи

Как и всем кто имеет дело с удалёнными системами, мне понадобилось мониторить множество машин и сервисов на них. Пролистав описания и мануалы нескольких программ, остановился на Nagios. Множество статей и примеров по нему и очень богатая настройка оказалось то что нужно. И вот решил поделиться несколькими моментами в реализации и конфигурирование самописного плагина, написанного на Bash и системы оповещения по sms с использованием clickatell.com.
Читать полностью »

Всем привет,

Что делать, если аналоги платные или не адаптированы под наши условия? Конечно, писать самому.

Условие:

  • ~ 50 удаленных клиентских станций, работающих на Ubuntu Desktop (10.04-12.10).

Задача:

  1. Получение информации о доступности обновления пакетов, на удаленных клиентских станциях.
  2. Логирование версий пакетов доступных для обновления.
  3. Удаленное обновление одной/всех клиентских станций.

Варианты решения:

  • Landscape – Отлично, но платно.
  • Spacewalk – Только RHEL и ему подобные.
  • Собственная разработка – этот вариант как раз для нас.

Поскольку мои знания ограничиваются одним языком программирования – bash, реализация будет выполнена именно на нем.Читать полностью »

Консольный комфорт, снова Тут хабраюзверь AStahl писал про полезную фичу, — рисование статусбара в консоли, на котором можно вывести часы и какую-либо другую обновляющуюся, полезную(?) информацию. У меня сейчас возникла такая задача, но его метод не понравился и поэтому я сделал свой велосипед-костыль.
Читать полностью »

Здравствуй, Уважаемый %username%.

Небольшое введение

В данной статье я хотел бы рассказать вам о распознавании голоса, написанном на таком языке программирования как Bash. В качестве OC я выбрал Ubuntu 12.04

Ближе к теме

Распознавание голоса будет осуществляться сервисом Google, который используется в браузере Google Chrome для голосового поиска. Приступим?
Читать полностью »

imageНаверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:

  • Клоны Bourne shell (bash, zsh)
  • C shell (csh, tcsh)
  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
  • Экзотические, специфические и все остальные

О наиболее интересных из ни и пойдет речь.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js