.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" and Andries Brouwer (aeb@cwi.nl), Fri Feb 14 21:47:50 1997. .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified Sun Jul 25 10:45:30 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer (aeb@cwi.nl) .\" Modified Mon Oct 21 17:47:19 1996 by Eric S. Raymond (esr@thyrsus.com) .\" Modified Wed Aug 27 20:28:58 1997 by Nicolás Lichtmaier (nick@debian.org) .\" Modified Mon Sep 21 00:00:26 1998 by Andries Brouwer (aeb@cwi.nl) .\" Modified Wed Jan 24 06:37:24 2001 by Eric S. Raymond (esr@thyrsus.com) .\" Modified Thu Dec 13 23:53:27 2001 by Martin Schulze .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH environ 7 "5 lutego 2023 r." "Linux man\-pages 6.05.01" .SH NAZWA environ \- środowisko użytkownika .SH SKŁADNIA .nf \fBextern char **\fP\fIenviron\fP\fB;\fP .fi .SH OPIS Zmienna \fIenviron\fP wskazuje na tablicę łańcuchów zwaną "środowiskiem". Ostatni wskaźnik w tej tablicy musi mieć wartość NULL. Ta tablica łańcuchów udostępniana jest procesowi przez funkcję \fBexecve\fP(2) podczas uruchamiania nowego programu. Gdy proces potomny jest tworzony przez \fBfork\fP(2), dziedziczy \fIcopy\fP ze środowiska swojego rodzica. .PP Zgodnie z konwencją, łańcuch w \fIenviron\fP ma postać "\fInazwa\fP\fB=\fP\fIwartość\fP". Nazwa jest wrażliwa na wielkość liter i nie może zawierać znaku równości "\fB=\fP". Wartość może być wszystkim co można zapisać jako łańcuch tekstowy. Nazwa i wartość nie mogą zawierać bajtu zerowego ("\e0"), gdyż służy on do zakończenia łańcucha. .PP Zmienne środowiskowe mogą być umieszczane w środowisku powłoki poleceniem \fIexport\fP w \fBsh\fP(1) lub \fIsetenv\fP jeśli korzysta się z \fBcsh\fP(1). .PP Na początkowe środowisko powłoki ma wpływ wiele czynników, takich jak definicje z \fI/etc/environment\fP przetwarzane dla wszystkich użytkowników przy logowaniu przez \fBpam_env\fP(8) (w systemach korzystających z \fBpam\fP(8)). Dodatkowo wiele inicjalizacyjnych skryptów powłoki, takich jak systemowy skrypt \fI/etc/profile\fP i skrypty inicjalizacyjne użytkowników mogą zawierać polecenia dodające zmienne do środowiska powłoki; proszę zapoznać się z podręcznikiem systemowym swojej powłoki, aby dowiedzieć się więcej. .PP Powłoki wzorowane na powłoce Bourne'a obsługują składnię .PP .in +4n .EX NAZWA=wartość polecenie .EE .in .PP aby zdefiniować zmienną środowiskową wyłącznie w zakresie procesu wykonującego \fIpolecenie\fP. Przed \fIpoleceniem\fP można podać wiele definicji, oddzielonych białym znakiem. .PP W środowisku mogą być również umieszczane argumenty w momencie wykonywania funkcji \fBexec\fP(3). Program napisany w C może manipulować środowiskiem za pomocą funkcji \fBgetenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3) i \fBunsetenv\fP(3). .PP Poniżej przedstawiono listę zmiennych środowiskowych występujących zwykle w systemie. Jest niekompletna i zawiera wyłącznie powszechne zmienne spotykane na co dzień przez przeciętnego użytkownika. Zmienne środowiskowe przypisane określonemu programowi lub funkcji bibliotecznej opisano w rozdziale ŚRODOWISKO właściwego podręcznika systemowego. .TP \fBUSER\fP Nazwa zalogowanego użytkownika (wykorzystywana przez niektóre programy wywodzące się z BSD). Ustawiana przy logowaniu, zob. poniższy rozdział UWAGI. .TP \fBLOGNAME\fP Nazwa zalogowanego użytkownika (wykorzystywana przez niektóre programy wywodzące się z Systemu V). Ustawiana przy logowaniu, zob. poniższy rozdział UWAGI. .TP \fBHOME\fP Katalog domowy użytkownika. Ustawiany przy logowaniu, zob. poniższy rozdział UWAGI. .TP \fBLANG\fP Nazwa ustawień językowych, jaka ma być stosowana dla wszystkich kategorii ustawień, jeśli nie zostały narzucone przez zmienną środowiskową, taką jak \fBLC_COLLATE\fP, \fBLC_CTYPE\fP, \fBLC_MESSAGES\fP, \fBLC_MONETARY\fP, \fBLC_NUMERIC\fP i \fBLC_TIME\fP (zob. \fBlocale\fP(7) aby dowiedzieć się więcej o zmiennych \fBLC_*\fP). .TP \fBPATH\fP Sekwencja przedrostków katalogów używanych przez \fBsh\fP(1) i wiele innych programów przy wyszukiwaniu pliku wykonywalnego podanego jako zwykła nazwa pliku (tj. którego ścieżka nie zawiera ukośników). Przedrostki są oddzielone dwukropkami (\fB:\fP). Lista przedrostków jest przeszukiwana od początku do końca, poprzez sprawdzenie ścieżki zawierającej przedrostek, ukośnik i nazwę pliku, dopóki nie odnajdzie się plik wykonywalny .IP Dla zapewnienia kompatybilności, przedrostek zerowy (określony jako dwa złączone dwukropki lub dwukropek rozpoczynający lub kończący) jest interpretowany jako bieżący katalog roboczy. Takie użycie jest przestarzałe, a POSIX zaznacza, że zgodne z nim aplikacje powinny używać jawnej ścieżki (np. \fI.\fP) do określenia bieżącego katalogu roboczego. .IP Podobnie jak \fBPATH\fP, \fBCDPATH\fP jest używane przez niektóre powłoki do poszukiwania katalogu docelowego dla polecenia zmiany katalogu, \fBMANPATH\fP jest używane przez \fBman\fP(1) do poszukiwania stron podręcznika itd. .TP \fBPWD\fP Bezwzględna ścieżka do bieżącego katalogu roboczego, musi być częściowo kanoniczna (bez składowych \fI.\&\fP lub \fI..\&\fP). .TP \fBSHELL\fP Absolutna ścieżka do powłoki logowania użytkownika. Ustawiana przy logowaniu, zob. rozdział UWAGI poniżej. .TP \fBTERM\fP Rodzaj terminala, dla którego system ma przygotowywać wyjście. .TP \fBPAGER\fP Preferowane przez użytkownika narzędzie do wyświetlania plików tekstowych. Poprawny będzie każdy łańcuch akceptowany jako argument do polecenia \fIsh\ \-c\fP. Jeśli \fBPAGER\fP jest pusta lub nieustawiona, aplikacje skorzystają z domyślnego programu takiego jak \fBless\fP(1) lub \fBmore\fP(1). .TP \fBEDITOR\fP/\fBVISUAL\fP .\" .TP .\" .B BROWSER .\" The user's preferred utility to browse URLs. Sequence of colon-separated .\" browser commands. See http://www.catb.org/\[ti]esr/BROWSER/ . Preferowane przez użytkownika narzędzie do edycji plików tekstowych. Poprawny będzie każdy łańcuch akceptowany jako argument do polecenia \fIsh\ \-c\fP. .PP Trzeba zauważyć, że obecność lub wartości pewnych zmiennych środowiska mają wpływ na zachowanie wielu programów i funkcji bibliotecznych. Oto przykłady: .IP \[bu] 3 Zmienne \fBLANG\fP, \fBLANGUAGE\fP, \fBNLSPATH\fP, \fBLOCPATH\fP, \fBLC_ALL\fP, \fBLC_MESSAGES\fP, itd. wpływają na obsługę ustawień językowych, zob. \fBcatopen\fP(3), \fBgettext\fP(3) i \fBlocale\fP(7). .IP \[bu] \fBTMPDIR\fP wpływa na prefiks ścieżki w nazwach tworzonych przez \fBtempnam\fP(3) i inne funkcje oraz katalog tymczasowy wykorzystywany przez \fBsort\fP(1) i inne programy itd. .IP \[bu] \fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP i inne zmienne \fBLD_*\fP wpływają na zachowanie programu ładującego/konsolidatora bibliotek dynamicznych. Zob. też \fBld.so\fP(8). .IP \[bu] \fBPOSIXLY_CORRECT\fP powoduje, że niektóre programy i funkcje biblioteczne przestrzegają zaleceń POSIX. .IP \[bu] Na zachowanie \fBmalloc\fP(3) wpływają zmienne \fBMALLOC_*\fP. .IP \[bu] Zmienna \fBHOSTALIASES\fP określa nazwę pliku zawierającego aliasy, z których ma korzystać \fBgethostbyname\fP(3). .IP \[bu] \fBTZ\fP i \fBTZDIR\fP podają informacje o strefie czasowej wykorzystywaną przez \fBtzset\fP(3) i przez funkcje takie jak \fIctime\fP(3), \fIlocaltime\fP(3), \fImktime\fP(3), \fIstrftime\fP(3). Zobacz także \fBtzselect\fP(8). .IP \[bu] \fBTERMCAP\fP podaje informacje o tym, jak adresować określony terminal (lub podaje nazwę pliku zawierającego te informacje). .IP \[bu] \fBCOLUMNS\fP i \fBLINES\fP mówią aplikacjom o rozmiarze okna, ewentualnie narzucając wartości inne niż rzeczywiste rozmiary. .IP \[bu] \fBPRINTER\fP lub \fBLPDEST\fP mogą określać drukarkę, która powinna być używana. Zobacz \fBlpr\fP(1). .SH UWAGI Historycznie i w zgodności ze standardem, \fIenviron\fP musi być zadeklarowane w programie użytkownika. Jednak dla wygody programisty \fIenviron\fP jest (niestandardowo) deklarowane w nagłówku pliku \fI\fP jeśli zdefiniowane jest testowe makro \fB_GNU_SOURCE\fP (zob. \fBfeature_test_macros\fP(7)). .PP Operacje \fBPR_SET_MM_ENV_START\fP i \fBPR_SET_MM_ENV_END\fP \fBprctl\fP(2) mogą posłużyć do kontroli położenia środowiska procesu. .PP Zmienne \fBHOME\fP, \fBLOGNAME\fP, \fBSHELL\fP i \fBUSER\fP są ustawiane gdy dochodzi do zmiany użytkownika, za pomocą interfejsu zarządzania sesją, zwykle przez program typu \fBlogin\fP(1), na takiego z bazy danych użytkowników (np. \fBpasswd\fP(5)). Przełączenie na użytkownika root za pomocą \fBsu\fP(1) może skutkować mieszanym środowiskiem, gdy \fBLOGNAME\fP i \fBUSER\fP pochodzą jeszcze od starego użytkownika; zob. stronę podręcznika systemowego \fBsu\fP(1). .SH USTERKI Oczywiście istnieje tu ryzyko naruszenia bezpieczeństwa. Wiele poleceń systemowych zostało oszukanych w celu wyrządzenia szkody przez użytkownika, który nadał nietypowe wartości zmiennym \fBIFS\fP lub \fBLD_LIBRARY_PATH\fP. .PP Istnieje również ryzyko skażenia przestrzeni nazw. Programy takie jak \fImake\fP i \fIautoconf\fP pozwalają na nadpisywanie domyślnych nazw programów narzędziowych poprzez środowisko zawierające zmienne o nazwach podobnych do nazw tych programów, ale składających się wyłącznie z wielkich liter. Zatem używa się \fBCC\fP do określenia pożądanego kompilatora C (i podobnie \fBMAKE\fP, \fBAR\fP, \fBAS\fP, \fBFC\fP, \fBLD\fP, \fBLEX\fP, \fBRM\fP, \fBYACC\fP itd.). Jednakże, w niektórych tradycyjnych zastosowaniach takie zmienne środowiskowe podają opcje dla programów zamiast ścieżki. Zatem mamy \fBMORE\fP i \fBLESS\fP. Takie zastosowanie jest traktowane jako błędne i należy go unikać w nowych programach. .SH "ZOBACZ TAKŻE" \fBbash\fP(1), \fBcsh\fP(1), \fBenv\fP(1), \fBlogin\fP(1), \fBprintenv\fP(1), \fBsh\fP(1), \fBsu\fP(1), \fBtcsh\fP(1), \fBexecve\fP(2), \fBclearenv\fP(3), \fBexec\fP(3), \fBgetenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3), \fBlocale\fP(7), \fBld.so\fP(8), \fBpam_env\fP(8) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys , Robert Luberda i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .