Тут можно читать онлайн книгу Мэтью Нейл - Основы программирования в Linux - бесплатно полную версию (целиком). Жанр книги: Программирование. Вы можете прочесть полную версию (весь текст) онлайн без регистрации и смс на сайте Lib-King.Ru (Либ-Кинг) или прочитать краткое содержание, аннотацию (предисловие), описание и ознакомиться с отзывами (комментариями) о произведении.
Основы программирования в Linux - описание и краткое содержание, автор Мэтью Нейл, читать бесплатно онлайн на сайте электронной библиотеки Lib-King.Ru.
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стандартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов
Основы программирования в Linux - читать книгу онлайн бесплатно, автор Мэтью Нейл
Вас могли заинтересовать непонятные биты set-group-id и set-user-id (также называемые set-gid и set-uid). Бит set-uid предоставляет программе права владельца, а не просто ее пользователя, бит set-gid предоставляет программе права группы. Эти биты устанавливаются командой
chmodsgМы немного сами себя обогнали, но далее следует пример тестирования состояния файла /bin/bash, так что вы сможете увидеть, как это выглядит на практике.
#!/bin/shif [ -f /bin/bash ]then echo "file /bin/bash exists"fiif [ -d /bin/bash ]then echo "/bin/bash is a directory"else echo "/bin/bash is NOT a directory"fiДля того чтобы тест мог оказаться истинным, предварительно, для проверки всех файловых флагов требуется наличие файла. Данный перечень включает только самые широко используемые опции команды
testtesthelp testТеперь, когда вы познакомились с условиями, можно рассмотреть управляющие структуры, использующие эти условия.
Управляющие структуры
В командной оболочке есть ряд управляющих структур или конструкций, похожих на аналогичные структуры в других языках программирования.
В следующих разделах элемент синтаксической записи операторы — это последовательности команд, которые выполняются, когда или пока условие удовлетворяется или пока оно не удовлетворяется.
Управляющий оператор
ifусловия<b>if</b> <i>условие</i><b>then</b><i> операторы</i><b>else</b><i> операторы</i><b>fi</b>Наиболее часто оператор
if#!/bin/shecho "Is it morning? Please answer yes or no "read timeofdayif [ $timeofday = "yes" ]; then echo "Good morning"else echo "Good afternoon"fiexit 0В результате будет получен следующий вывод на экран:
Is it morning? Please answer yes or no<b>yes</b>Good morning$В этом сценарии для проверки содержимого переменной
timeofday[ifОбратите внимание на дополнительные пробелы, используемые для формирования отступа внутри оператора
ifК сожалению, с этим простым сценарием связано несколько проблем. Во-первых, он принимает в значении
noyeselifelseifelifВы можете откорректировать предыдущий сценарий так, чтобы он выводил сообщение об ошибке, если пользователь вводит что-либо отличное от
yesnoelseelif#!/bin/shecho "Is it morning? Please answer yes or no "read timeofdayif [ $timeofday = "yes" ]then echo "Good morning"<i>elif [ $timeofday = "no" ]; then</i><i> echo "Good afternoon"</i><i>else</i><i> echo "Sorry, $timeofday not recognized. Enter yes or no "</i><i> exit 1</i>fiexit 0Как это работает
Этот пример очень похож на предыдущий, но теперь, если первое условие не равно
trueelif