Метка «shell» - 3

papagaj — GUI обертка для shell скриптов. Yet another another *dialog
Когда я впервые узнал об утилитах dialog, xdialog, zenity я был поражен тем, что буквально из пары строк можно было создать графический интерфейс для скрипта.
Однако, когда я пошел дальше и захотел создать что-то более сложное, чем просто окошко со списком или диалог «Да/нет» — я был слегка разочарован, т.к. не смог найти требуемого. В итоге, мое знакомство с этой областью приостановилось на несколько лет.
Недавно я вспомнил о своем желании и попытался узнать о прогрессе в этом деле. Увы, и сейчас результат оказался не таким как ожидалось — я по-прежнему ничего не находил. По этой причине я и написал программу papagaj. Она позволяет из гов… и палок из xml-файла и пары скриптов построить несложный графический интерфейс для вашего консольного приложения.

Читать полностью »

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

Многие не всегда понимают смысла делать вывод терминала цветным и считают это пустой тратой времени. Я же считаю, что это очень облегчает восприятие текстовой информации. Смотрим ли мы логи или просто делаем трэйсроут до своего сервера. Выделение цветом поможет сконцентрировать внимание на важных вещах и отделить мух от котлет.
Читать полностью »

Приветствую достопочтенных жителей !

Создание красивого образа .dmg для программы в [Mac] OS XСегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.

Конечно, для бывалого маковода и zip-архив сгодится, но ведь все любят, чтоб было красиво и удобно. Так что мы с вами, дорогие читатели, озаботимся сегодня созданием такого вот красивого образа диска для своей (ну или чужой) программы.
Создание красивого образа .dmg для программы в [Mac] OS X
Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.

Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
Читать полностью »

в 9:27, , рубрики: linux, shell, sms, метки: ,

i am bot
Здравствуйте, уважаемыее!
На днях я написал простого бота для смс-переписки. Он может принимать входящие сообщения, обрабатывать их и (если слова из сообщения есть в его «памяти») отправлять назад логичные ответы.

Все, что мне понадобилось:

— Ubuntu 12.04 на домашнем компьютере
— Установленный gnokii (посмотреть как его установить можно тут)
— shell скрипт
— cron, регулярно запускающий этот скрипт
— телефон с деньгами на счету (подойдет почти любая старая Nokia с блютузом, а также SonyEricsson k серии)
— Bluetooth адаптер
— пара часов свободного времени.
+ Плюсом стало отсутствие необходимости в Интернет-подключении.

Если заинтересовались — прошу под кат.

Читать полностью »

У меня — 'cd'.

Хожу по папкам часто и начал замечать, что даже автодополнение не спасает. Тогда я начал искать возможные способы упрощенной навигации в консоли.

Но должны же быть решения!

В моей любимой оболочке zsh есть такая возможность — «разворачивание» путей по нажатию <Tab>: например, "/u/in/sy" -> "/usr/include/sys/"

В остальных оболочках можно приноровиться и использовать $CDPATH или pushd/popd, но лично мне это до сих пор кажется неудобным.

А еще есть пара утилиток для ускоренной навигации. Самая известная из них, пожалуй, autojump. Она следит в каких папках пользователь проводит больше всего времени и позволяет указывать только фрагмент пути к папке. Например «incl» приведет вас в "/usr/include", если вы там часто бываете.

Autojump вдохновила другого разработчика на создание утилиты «z». «Z» использует в качестве критерия для перехода т.н. «frecency» — комбинацию частоты посещений папки (frequency) и времени последнего перехода туда (recency).

Обе утилиты хороши по-своему, и я так бы и пользовался autojump или z, однако что-то мне не давало покоя. А недавно я услышал одну фразу:

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.

И тут я понял что самое время придумать свой велосипед. Не-intelligent. Тупой и удобный.Читать полностью »

Совсем недавно я открыл для себя оболочку Rediculous fish, которая принципиально отличается от bash и zsh с которыми я работал ранее. На моем MacBook Pro под Mac OS X оболочка установилась без каких либо проблем и замечательно работала. Освоившись в новой оболочке, я решил что пришло время установить и настроить ее так же и на серверах, на которых установлен 64-разрядный Debian Squeeze. Тут то я и столкнулся с тем, что 32-разрядный deb пакет, который лежит у них на сайте, на 64-разрядный Debian не устанавливается. И я решил собрать любимую оболочку из исходников. Этот процес и будет описан в статье.
Читать полностью »

Совсем недавно я открыл для себя оболочку Ridiculous fish, которая принципиально отличается от bash и zsh с которыми я работал ранее. На моем MacBook Pro под Mac OS X оболочка установилась без каких либо проблем и замечательно работала. Освоившись в новой оболочке, я решил что пришло время установить и настроить ее так же и на серверах, на которых установлен 64-разрядный Debian Squeeze. Тут то я и столкнулся с тем, что 32-разрядный deb пакет, который лежит у них на сайте, на 64-разрядный Debian не устанавливается. И я решил собрать любимую оболочку из исходников. Этот процес и будет описан в статье.
Читать полностью »

Буквально на днях появилась у меня очень интересная задачка — вызвать shell скрипт из триггера в Oracle. Самым простым выходом в данной ситуации является хранимая процедура на Java, но редакция Oracle для которой было необходимо произвести действия — XE, в которой таковая возможность отсутствует.
Google выдает достаточно много советов по тому, как реализовать процедуру, ссылающуюся на C библиотеку, но в чистом виде такие инструкции у меня не заработали, пришлось несколько допиливать советы, в чем мне все также помогал Google. Ссылок на ресурсы, где я получал ответы, уже не помню, но всю цепочку действий попробую рассказать.
Читать полностью »

Довольно популярный и актуальный вопрос, который возникает, например, при чистке интенсивно растущих журналов постоянно запущенных процессов.

Ответ в двух словах

Обнулять можно, но для этого пишущий процесс должен открывать этот файл с использованием флага O_APPEND. Ниже приводится соответствующий отрывок из open(2):


O_APPEND
The file is opened in append mode. Before each write(2), the file offset is positioned at the end of the file, as if with lseek(2). O_APPEND may lead to corrupted files on NFS file systems if more than one process appends data to a file at once. This is because NFS does not support appending to a file, so the client kernel has to simulate it, which can't be done without a race condition.

Несколько процессов, пишущих в один файл на NFS — это отдельный клинический случай. Пусть у нас есть один-единственный процесс, пишущий в файл.
Читать полностью »

Доброго времени суток.

Накачал я тут себе однажды гору музыки, не разбираясь, в каком она формате, во flac или же в mp3. Думал «ну а что, есть же куча утилит, которые все это конвертируют, потом разберусь». Скачал, поискал в сети, чем можно конвертировать, нашел программку All2mp3 (сижу на маке)… Какого же было моё удивление, когда я узнал, что не могу в неё закинуть просто папку Music и ждать, пока она пробежится по всем подпапкам, найдет все файлы flac и конвертирует их в mp3! Начал гуглить, но никакого вменяемого решения так и не нашел.

Читать полностью »


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