My-library.info
Все категории

Основы программирования в Linux - Мэтью Нейл

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Основы программирования в Linux - Мэтью Нейл. Жанр: Интернет год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Основы программирования в Linux
Автор
Дата добавления:
17 сентябрь 2020
Количество просмотров:
341
Читать онлайн
Основы программирования в Linux - Мэтью Нейл

Основы программирования в Linux - Мэтью Нейл краткое содержание

Основы программирования в Linux - Мэтью Нейл - описание и краткое содержание, автор Мэтью Нейл, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Основы программирования в Linux читать онлайн бесплатно

Основы программирования в Linux - читать книгу онлайн бесплатно, автор Мэтью Нейл

Командная оболочка раскрывает

f*.sh
, подставляя имена всех файлов, соответствующих данному шаблону.

Примечание

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

while

Поскольку по умолчанию командная оболочка считает все значения строками, оператор

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

Если нужно повторить выполнение последовательности команд, но заранее не известно, сколько раз следует их выполнить, вы, как правило, будете применять цикл

while
со следующей синтаксической записью:

<b>while</b>  <i>условие</i>

<b>do</b>

<i> операторы</i>

<b>done</b>

Далее приведен пример довольно слабой программы проверки паролей.

#!/bin/sh

echo &quot;Enter password&quot;

read trythis

while [ &quot;$trythis&quot; != &quot;secret&quot; ]; do

 echo &quot;Sorry, try again&quot;

 read trythis

done

exit 0

Следующие строки могут служить примером вывода данного сценария:

Enter password

<b>password</b>

Sorry, try again

<b>secret</b>

$

Ясно, что это небезопасный способ выяснения пароля, но он вполне подходит для демонстрации применения цикла

while
. Операторы, находящиеся между операторами
do
и
done
, выполняются бесконечное число раз до тех пор, пока условие остается истинным (
true
). В данном случае вы проверяете, равно ли значение переменной
trythis
строке
secret
. Цикл будет выполняться, пока
$trythis
не равно
secret
. Затем выполнение сценария продолжится с оператора, следующего сразу за оператором
done
.

until

У цикла

until
следующая синтаксическая запись:

<b>until</b>  <i>условие</i>

<b>do</b>

<i> операторы</i>

<b>done</b>

Она очень похожа на синтаксическую запись цикла

while
, но с обратным проверяемым условием. Другими словами, цикл продолжает выполняться, пока
условие
не станет истинным (true).

Примечание

Как правило, если нужно выполнить цикл хотя бы один раз, применяют цикл

while
; если такой необходимости нет, используют цикл
until
.

Как пример цикла

until
можно установить звуковой сигнал предупреждения, инициируемый во время регистрации нового пользователя, регистрационное имя которого передается в командную строку.

#!/bin/bash

until who | grep &quot;$1&quot; &gt; /dev/null

do

 sleep 60

done

# Теперь звонит колокольчик и извещает о новом пользователе

echo -е 'а'

echo &quot;**** $1 has just logged in ****&quot;

exit 0

Если пользователь уже зарегистрировался в системе, выполнять цикл нет необходимости. Поэтому естественно выбрать цикл

until
, а не цикл
while
.

case

Оператор

case
немного сложнее уже рассмотренных нами операторов. У него следующая синтаксическая запись:

<b>case</b><i> переменная</i>  <b>in</b>

<i> образец</i> [ | <i>образец</i>] ...) <i>операторы</i>;;

 <i>образец</i> [ | <i>образец</i>] ...)<i> операторы</i>;;

<b>esac</b>

Конструкция оператора

case
выглядит слегка устрашающей, но она позволяет довольно изощренным способом сопоставлять содержимое переменной с образцами и затем выполнять разные операторы в зависимости от того, с каким образцом найдено соответствие. Это гораздо проще, чем проверять несколько условий, применяемых во множественных операторах
if
,
elif
и
else
.

Примечание

Обратите внимание на то, что каждая ветвь с образцами завершается удвоенным символом "точка с запятой" (

;;
). В каждой ветви оператора
case
можно поместить несколько операторов, поэтому сдвоенная точка с запятой необходима для отметки завершения очередного оператора и начала следующей ветви с новым образцом в операторе
case
.

Возможность сопоставлять многочисленные образцы и затем выполнять множественные связанные с образцом операторы делают конструкцию

case
очень удобной для обработки пользовательского ввода. Лучше всего увидеть, как работает конструкция
case
на примерах. Мы будем применять ее в упражнениях 2.6–2.8, каждый раз совершенствуя сопоставление с образцами.

Примечание

Применяя конструкцию

case
с метасимволами в образцах, такими как
*
, будьте особенно внимательны. Проблема заключается в том, что принимается во внимание первое найденное соответствие образцу, несмотря на то, что в последующих ветвях могут быть образцы с более точным соответствием.


Мэтью Нейл читать все книги автора по порядку

Мэтью Нейл - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


Основы программирования в Linux отзывы

Отзывы читателей о книге Основы программирования в Linux, автор: Мэтью Нейл. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.