Основы программирования в Linux
Шрифт:
Массив длинных опций состоит из ряда структур типа
Структура длинной опции определена в заголовочном файле getopt.h и должна подключаться с помощью константы
Элементы структуры описаны в табл. 4.1.
Таблица 4.1.
| Параметр опции | Описание |
|---|---|
| name | Название длинной опции. Сокращения будут приниматься до тех пор, пока они не создадут путаницы при определении названий других опций |
| has_arg | Принимает ли эта опция аргумент. Задайте 0 для опций без аргументов, 1 для опций, у которых должно быть значение, и 2 для опций с необязательным аргументом |
| flag | Задайте NULL , чтобы getopt_long вернула при обнаружении данной опции значение, заданное в val . В противном случае getopt_long возвращает 0 и записывает значение val в переменную, на которую указывает flag |
| val | Значение getopt_long для данной опции, предназначенное для возврата |
Для получения сведений о других опциях, связанных с расширениями функции
Переменные окружения
Мы обсуждали переменные окружения в главе 2. Это переменные, которые могут использоваться для управления поведением сценариев командной оболочки и других программ. Вы также можете применять их для настройки пользовательской среды. Например, у каждого пользователя есть переменная окружения
Вы также можете воспользоваться командой оболочки
В спецификации UNIX определено множество стандартных переменных окружения, применяемых для самых разных целей, включая тип терминала, имена редакторов, установленных по умолчанию, названия часовых поясов и т.д. Программа на языке С может получить доступ к переменным окружения с помощью функций
Окружение состоит из строк вида
Функция
В упражнении 4.4 вы напишeте программу для вывода значения любой выбранной вами переменной окружения. У вас также будет возможность задать значение, если вы укажете второй аргумент программы.
1. Первые несколько строк после объявления функции
2. Сделав это, вы извлекаете значение переменной из окружения с помощью функции
3. Далее проверьте, был ли при вызове программы указан второй параметр. Если был, вы задаете значение этого аргумента, конструируя строку вида
Протокол "Наследник"
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Огненный зверь (сборник)
Фантастика:
фэнтези
рейтинг книги
Прокурор
Детективы:
прочие детективы
рейтинг книги
Воронцов. Перезагрузка
1. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
рейтинг книги
Над бездной
Любовные романы:
современные любовные романы
рейтинг книги
Кодекс Охотника. Книга XXVI
26. Кодекс Охотника
Фантастика:
попаданцы
рейтинг книги
Россия молодая
Полное издание в одном томе
Проза:
историческая проза
рейтинг книги
Николай Гоголь
Проза:
историческая проза
рейтинг книги
Эпоха Опустошителя. Том III
3. Вечное Ристалище
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Джек Потрошитель
Документальная литература:
публицистика
рейтинг книги
Братва
Братва
Детективы:
криминальные детективы
рейтинг книги
Я не царь. Книга XXIV
24. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
рейтинг книги
Эндимион. Восход Эндимиона
Гиперион
Фантастика:
научная фантастика
космическая фантастика
рейтинг книги
Симфонии
Поэзия:
поэзия
рейтинг книги