Арнольд Роббинс - Linux программирование в примерах

Здесь есть возможность читать онлайн «Арнольд Роббинс - Linux программирование в примерах» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2005, ISBN: 2005, Издательство: Кудиц-Образ, Жанр: Программирование, ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Linux программирование в примерах: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Linux программирование в примерах»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В книге рассмотрены вопросы, связанные с программированием под Linux: файловый ввод/вывод, метаданные файлов, основы управления памятью, процессы и сигналы, пользователи и группы, вопросы интернационализации и локализации, сортировка, поиск и многие другие. Много внимания уделено средствам отладки, доступным под GNU Linux. Все темы иллюстрируются примерами кода, взятого из V7 UNIX и GNU. Эта книга может быть полезна любому, кто интересуется программированием под Linux.

Linux программирование в примерах — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Linux программирование в примерах», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

}

Затем можно использовать envpтакже, как environ. Хотя это иногда можно увидеть в старом коде, мы не рекомендуем такое использование; environявляется официальным, стандартным, переносимым способом получения доступа ко всему окружению, если это вам необходимо.

2.4.3. GNU env

Чтобы завершить главу, рассмотрим GNU версию команды env. Эта команда добавляет переменные к окружению в ходе выполнения одной команды. Она может использоваться также для очищения окружения в ходе этой команды или для удаления отдельных переменных окружения. Программа обеспечивает нас двойной функциональностью, поскольку проявляет возможности как getopt_long(), так и несколько других возможностей, обсуждавшихся в этом разделе. Вот как вызывается программа:

$ env --help

Usage: env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]

/* Устанавливает соответствующее VALUE для каждого NAME и запускает COMMAND */

-i, --ignore-environment /* запустить с пустым окружением */

-u, --unset=NAME /* удалить переменную из окружения */

--help /* показать этот экран справки и выйти */

--version /* вывести информацию о версии и выйти */

/* Простое - предполагает -1. Если не указана COMMAND, отображает

имеющееся окружение.

Об ошибках сообщайте в . */

Вот несколько примеров вызовов команды:

$ env - myprog arg1/* Очистить окружение, запустить программу с args */

$ env - РАТН=/bin:/usr/bin myprog arg1/* Очистить окружение, добавить PATH, запустить программу */

$ env -u IFS PATH=/bin:/usr/bin myprog arg1/* Сбросить IFS, добавить PATH, запустить программу */

Код начинается со стандартной формулировки авторских прав GNU и разъясняющего комментария. Мы для краткости их опустили. (Формулировка авторского права обсуждается в Приложении С «Общедоступная лицензия GNU». Показанного ранее вывода --helpдостаточно для понимания того, как работает программа.) За объявленным авторским правом и комментарием следуют подключаемые заголовочные файлы и объявления. Вызов макроса ' N_("string")' (строка 93) предназначен для использования при локализации программного обеспечения, тема, освещенная в главе 13 «Интернационализация и локализация». Пока вы можете рассматривать его, как содержащий строковую константу.

80 #include

81 #include

82 #include

83 #include

84 #include

85

86 #include "system.h"

87 #include "error.h"

88 #include "closeout.h"

89

90 /* Официальное имя этой программы (напр., нет префикса 'g'). */

91 #define PROGRAM_NAME "env"

92

93 #define AUTHORS N_ ("Richard Mlynarik and David MacKenzie")

94

95 int putenv();

96

97 extern char **environ;

98

99 /* Имя, посредством которого эта программа была запущена. */

100 char *program_name;

101

102 static struct option const longopts[] =

103 {

104 {"ignore-environment", no_argument, NULL, 'i'},

105 {"unset", required_argument, NULL, 'u'},

106 {GETOPT_HELP_OPTION_DECL},

107 {GETOPT_VERSION_OPTION_DECL},

108 {NULL, 0, NULL, 0}

109 };

GNU Coreutils содержит большое число программ, многие из которых выполняют одни и те же общие задачи (например, анализ аргументов). Для облегчения сопровождения многие типичные идиомы были определены в виде макросов. Двумя таким макросами являются GETOPT_HELP_OPTION_DECLи GETOPT_VERSION_OPTION(строки 106 и 107). Вскоре мы рассмотрим их определения. Первая функция, usage(), выводит информацию об использовании и завершает программу. Макрос _("string")(строка 115, используется также по всей программе) также предназначен для локализации, пока также считайте его содержащим строковую константу.

111 void

112 usage(int status)

113 {

114 if (status '= 0)

115 fprintf(stderr, _("Try '%s --help' for more information.\n"),

116 program_name);

117 else

118 {

119 printf (_("\

120 Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n"),

121 program_name);

122 fputs (_("\

123 Set each NAME to VALUE in the environment and run COMMAND. \n\

124 \n\

125 -i, --ignore-environment start with an empty environment\n\

126 -u, --unset=NAME remove variable from the environment\n\

127 "), stdout);

128 fputs(HELP_OPTION_DESCRIPTION, stdout);

129 fputs(VERSION_OPTION_DESCRIPTION, stdout);

130 fputs(_("\

131 \n\

132 A mere - implies -i. If no COMMAND, print the resulting\

133 environment.\n"), stdout);

134 printf(_("\nReport bugs to

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Linux программирование в примерах»

Представляем Вашему вниманию похожие книги на «Linux программирование в примерах» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Linux программирование в примерах»

Обсуждение, отзывы о книге «Linux программирование в примерах» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x