.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (C) 2004, 2007 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 18:20:58 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Fri Feb 14 21:47:50 1997 by Andries Brouwer (aeb@cwi.nl) .\" Modified 9 Jun 2004, Michael Kerrisk .\" Changed unsetenv() prototype; added EINVAL error .\" Noted nonstandard behavior of setenv() if name contains '=' .\" 2005-08-12, mtk, glibc 2.3.4 fixed the "name contains '='" bug .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setenv 3 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH ИМЯ setenv \- изменяет или добавляет переменную окружения .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint setenv(const char *\fP\fIname\fP\fB, const char *\fP\fIvalue\fP\fB, int \fP\fIoverwrite\fP\fB);\fP \fBint unsetenv(const char *\fP\fIname\fP\fB);\fP .fi .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBsetenv\fP(), \fBunsetenv\fP(): .nf _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE .fi .SH ОПИСАНИЕ Функция \fBsetenv\fP() добавляет переменную \fIname\fP в окружение со значением \fIvalue\fP, если \fIname\fP ещё не существует. Если \fIname\fP в окружении существует, то её значение изменяется на \fIvalue\fP, если \fIoverwrite\fP имеет ненулевое значение; если \fIoverwrite\fP равно нулю, то значение \fIname\fP не изменяется (и \fBsetenv\fP() завершается без ошибки). Эта функция делает копию строк, указанных в \fIname\fP и \fIvalue\fP (в отличии от \fBputenv\fP(3)). .P Функция \fBunsetenv\fP() удаляет переменную \fIname\fP из окружения. Если \fIname\fP в окружении не существует, то функция завершается без ошибки и окружение не изменяется. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" \fBsetenv\fP() and \fBunsetenv\fP() functions return zero on success, or \-1 on error, with \fIerrno\fP set to indicate the error. .SH ОШИБКИ .TP \fBEINVAL\fP \fIname\fP is NULL, points to a string of length 0, or contains an \[aq]=\[aq] character. .TP \fBENOMEM\fP Недостаточно памяти для добавления новой переменной в окружение. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBsetenv\fP(), \fBunsetenv\fP() T} Безвредность в нитях MT\-Unsafe const:env .TE .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, 4.3BSD. .P До glibc 2.2.2, \fBunsetenv\fP() объявлялась как возвращающая \fIvoid\fP; более новые версии glibc следуют объявлению из POSIX.1, показанному в ОБЗОРЕ. .SH CAVEATS В POSIX.1 не требуется, чтобы \fBsetenv\fP() или \fBunsetenv\fP() были реентерабельными. .SH ОШИБКИ POSIX.1 specifies that if \fIname\fP contains an \[aq]=\[aq] character, then \fBsetenv\fP() should fail with the error \fBEINVAL\fP; however, versions of glibc before glibc 2.3.4 allowed an \[aq]=\[aq] sign in \fIname\fP. .SH "СМОТРИТЕ ТАКЖЕ" \fBclearenv\fP(3), \fBgetenv\fP(3), \fBputenv\fP(3), \fBenviron\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .