BashЯзык командного интерпретатора bash. Part 4. «Условные операторы»

Данный топик является четвертым топиком цикла «Язык командного интерпретатора bash». Он будет повествовать о таких управляющих структурах языка, как условные операторы. Но перед тем, как перейти к их описанию, необходимо остановиться на некоторых нюансах, которые сделают рассмотрение нижеизложенного материала более понятным.
Во-первых, разберём, что такое список команд. Список команд – это одиночная команда, конвейер или последовательность команд/конвейеров, разделённых одним из следующих операторов: ";", "&&", "||", завершённая точкой с запятой.
; — оператор последовательного выполнения нескольких команд. Каждая последующая команда начинает выполняться только после завершения предыдущей (неважно, успешного или нет);
&& — оператор выполнения команды только после успешного выполнения предыдущей;
|| — оператор выполнения команды только после ошибочного выполнения предыдущей.
Кодом успешного завершения является 0, а ошибочного — не ноль (зависит от типа ошибки). Не нужно путать с обычными языками программирования, когда 1 является аналогом true, а 0 – false.
Теперь можно приступить к непосредственному рассмотрению условных операторов.
Читать дальше

BashЯзык командного интерпретатора bash. Part 3. «Массивы».

И вот настал черёд третьего поста из цикла «Язык командного интерпретатора bash». В первых двух топиках мы в общих чертах рассмотрели понятие параметров оболочки и механизмы подстановок. В текущем топике речь пойдёт о массивах интерпретатора bash. Топик будет совсем небольшим, так как объём охватываемой им информации также невелик и легко усваивается.
Командный интерпретатор bash поддерживает одномерные массивы с неограниченным числом элементов. Да, лимит на количество элементов отсутствует, в то время, как в других оболочках существуют эти ограничения. Например, в оболочке ksh максимальным числом элементов является 1024 элемента.
Как я говорил в своём первом посте, в bash есть только один тип – строковый, а значит, все элементы массива также являются строковыми. Определяющим фактором здесь служит содержимое параметров. Нумерация элементов начинается с нуля.
Читать дальше

BashЯзык командного интерпретатора bash. Part 2. "Подстановки"

Данный топик является логическим продолжением моего предыдущего поста, в котором я рассказал о параметрах языка командного интерпретатора bash. Интерес, возникший у пользователей к моему первому посту подтолкнул меня на написание продолжения. В текущем топике я расскажу об использовании различных механизмов подстановок в оболочке bash.
Читать дальше

BashЯзык командного интерпретатора bash. Part 1. "Параметры"

Решил написать небольшой цикл постов о языке командного интерпретатора bash. Первый пост описывает параметры, используемые в командной оболочке bash.

Вместо переменных, которые используются в привычных нам языках программирования, в bash используется концепция параметров. Одним из главных критериев, описывающих параметры, являются имена параметров. Именем параметра может быть: слово, состоящее из латинских букв, цифр и знаков подчёркивания (в этом случае первым символом должна быть буква); число или один из следующих символов: *, @, #, ?, $, !, 0, _. Все параметры имеют строковый тип. Перед именем параметра следует ставить знак $, чтобы сослаться на его значение.
Параметры делятся на 3 группы:
— переменные оболочки;
— позиционные параметры;
— специальные параметры.
Теперь поговорим о каждой группе более подробно.
Читать дальше

QtУчим Qt вместе. Part 1

Ну попробую и я сделать небольшой цикл статей по QT. Сильно не пинайте потому, что я только начал учить QT :)

Вступление

Qt — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, Ruby — QtRuby, Java — Qt Jambi, PHP — PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
Существуют версии библиотеки для Microsoft Windows, систем класса UNIX с графической подсистемой X11, Mac OS X, Microsoft Windows CE, встраиваемых Linux-систем и платформы S60.
Читать дальше