Jak ustawić i niezareść zmienne środowiskowe lokalne, użytkownika i systemowe w Linux

Jak ustawić i niezareść zmienne środowiskowe lokalne, użytkownika i systemowe w Linux

Zmienne środowiska to niektóre specjalne zmienne zdefiniowane w Shell i są potrzebne programom podczas wykonywania. Mogą być zdefiniowane systemem lub zdefiniowane przez użytkownika. Zmienne zdefiniowane przez system to te, które są ustawione według systemu i są używane przez programy na poziomie systemowym.

Ustaw i unset Linux Zmienne środowiskowe

Za e.G. Polecenie PWD jest bardzo powszechną zmienną systemową, która służy do przechowywania obecnego katalogu roboczego. Zmienne zdefiniowane przez użytkownika są zwykle ustawiane przez użytkownika, albo tymczasowo dla bieżącej powłoki lub na stałe. Cała koncepcja ustawień i nietrudnych zmiennych środowiskowych obraca się wokół niektórych zestawów plików i kilku poleceń i różnych powłok.

Pod względem szerszym, zmienna środowiskowa może znajdować się w trzech typach:

1. Lokalna zmienna środowiskowa

Jeden zdefiniowany dla bieżącej sesji. Te zmienne środowiskowe trwają tylko do bieżącej sesji, czy to zdalna sesja logowania, czy lokalna sesja terminalowa. Zmienne te nie są określone w żadnych plikach konfiguracyjnych i są tworzone i usuwane za pomocą specjalnego zestawu poleceń.

2. Zmienna środowiska użytkownika

Są to zmienne zdefiniowane dla konkretnego użytkownika i są ładowane za każdym razem, gdy użytkownik loguje się za pomocą sesji terminali lokalnej lub że użytkownik jest zalogowany za pomocą sesji zdalnej logowania. Te zmienne są zwykle ustawiane i ładowane z następujących plików konfiguracyjnych: .Bashrc, .bash_profile, .bash_login, .profil pliki obecne w katalogu domowym użytkownika.

3. Zmienne środowiskowe szerokie systemu

Są to zmienne środowiskowe, które są dostępne w całym systemie, i.mi. Dla wszystkich użytkowników obecnych w tym systemie. Zmienne te są obecne w plikach konfiguracyjnych w całym systemie obecnym w następujących katalogach i plikach: /itp./Środowisko, /itp./Profil, /itp./Profil.D/, /etc/bash.Bashrc. Zmienne te są ładowane za każdym razem, gdy system jest włączony i logowany lokalnie lub zdalnie przez dowolnego użytkownika.

Zrozumienie plików konfiguracyjnych dla całego użytkownika i systemu systemu

Tutaj krótko opisujemy różne pliki konfiguracyjne wymienione powyżej, które zawierają zmienne środowiskowe, szerokie systemy lub specyficzne dla użytkownika.

.Bashrc

Ten plik jest plikiem specyficznym dla użytkownika, który jest ładowany za każdym razem, gdy użytkownik tworzy nową sesję lokalną i.mi. Krótko mówiąc, otwiera nowy terminal. Wszystkie zmienne środowiskowe utworzone w tym pliku występowałyby za każdym razem, gdy rozpoczyna się nowa sesja lokalna.

.bash_profile

Ten plik jest zgodny z użytkownikiem zdalny plik logowania. Zmienne środowiskowe wymienione w tym pliku są wywoływane za każdym razem, gdy użytkownik jest rejestrowany zdalnie i.mi. Korzystanie z sesji SSH. Jeśli ten plik nie jest obecny, system szuka też .bash_login Lub .profil akta.

/itp./Środowisko

Ten plik to szeroki plik systemowy do tworzenia, edytowania lub usuwania zmiennych środowiskowych. Zmienne środowiskowe utworzone w tym pliku są dostępne w całym systemie, przez każdego użytkownika, zarówno lokalnie, jak i zdalnie.

/etc/bash.Bashrc

System szeroki Bashrc plik. Ten plik jest ładowany raz dla każdego użytkownika, za każdym razem, gdy użytkownik otwiera lokalną sesję terminalu. Zmienne środowiskowe utworzone w tym pliku są dostępne dla wszystkich użytkowników, ale tylko poprzez lokalną sesję terminalową. Gdy dowolny użytkownik na tym komputerze jest dostępny zdalnie za pośrednictwem sesji logowania, zmienne te nie byłyby widoczne.

/itp./Profil

Plik profilu szerokiego systemu. Wszystkie zmienne utworzone w tym pliku są dostępne dla każdego użytkownika w systemie, ale tylko wtedy, gdy sesja tego użytkownika jest wywoływana zdalnie, i.mi. przez zdalne logowanie. Każda zmienna w tym pliku nie będzie dostępna dla lokalnej sesji logowania I.mi. Kiedy użytkownik otwiera nowy terminal w swoim systemie lokalnym.

Notatka: Zmienne środowiskowe utworzone za pomocą za pomocą system w całym systemie Lub użytkownik Pliki konfiguracyjne można usunąć, usuwając je tylko z tych plików. Tylko to po każdej zmianie tych plików albo wyloguj się i zaloguj ponownie, albo po prostu wpisz następujące polecenie na terminalu w celu uzyskania zmian:

$ źródło  

Ustaw lub niezajemne zmienne środowiskowe lub całe sesję w systemie Linux

Lokalne zmienne środowiskowe można utworzyć za pomocą następujących poleceń:

$ var = wartość lub $ export var = wartość 

Te zmienne są szerokie sesji i są ważne tylko dla bieżącej sesji terminalowej. Aby wyczyścić te zmienne środowiskowe w całej sesji, można użyć następujących poleceń:

1. Za pomocą Env

Domyślnie, „Env” Polecenie zawiera wszystkie bieżące zmienne środowiskowe. Ale jeśli jest używany z '-I' przełącz, tymczasowo usuwa wszystkie zmienne środowiskowe i pozwala użytkownikowi wykonać polecenie w bieżącej sesji przy braku wszystkich zmiennych środowiskowych.

$ env -i [var = wartość]… polecenie args… 

Tutaj, var = wartość odpowiada każdej lokalnej zmiennej środowiskowej, której chcesz użyć tylko z tym poleceniem.

$ env -i bash 

Da powłokę bash, która tymczasowo nie miałaby żadnej zmiennej środowiska. Ale kiedy wychodzisz ze skorupy, wszystkie zmienne zostaną przywrócone.

2. Za pomocą UNSET

Innym sposobem wyczyszczenia lokalnej zmiennej środowiska jest użycie polecenia UNSET. Aby tymczasowo rozstrzygnąć jakąkolwiek lokalną zmienną środowiskową,

$ unset  

Gdzie, var-nazwa to nazwa zmiennej lokalnej, którą chcesz ustalić lub wyczyścić.

3. Ustaw nazwę zmiennej na ”

Kolejnym mniej powszechnym sposobem byłoby ustawienie nazwy zmiennej, którą chcesz wyczyścić " (Pusty). Oczyściłoby to wartość zmiennej lokalnej dla bieżącej sesji, dla której jest aktywna.

NOTATKA - Możesz nawet bawić się i zmieniać wartości zmiennych środowiska systemowego lub użytkownika, ale zmiany odzwierciedlają wyłącznie w bieżącej sesji terminali i nie byłyby trwałe.

Dowiedz się, jak tworzyć zmienne środowiskowe w całym użytkowniku i systemu w systemie Linux

W sekcji dowiemy się, jak ustawić lub rozstrzygnąć zmienne środowiskowe lokalne, użytkownika i systemowe w Linux z poniżej:

1. Ustaw i unset lokalne zmienne w Linux

A.) Tutaj tworzymy zmienną lokalną Var1 i ustaw go na dowolną wartość. Następnie używamy UNSET do usunięcia tej zmiennej lokalnej, a na końcu ta zmienna jest usuwana.

$ Var1 = "TecMint jest najlepszą witryną dla artykułów Linux" $ echo $ var1 $ unset var1 $ echo $ var1 
Ustaw niezatrzymane zmienne środowiskowe

B.) Innym sposobem utworzenia zmiennej lokalnej jest użycie eksport Komenda. Utworzona zmienna lokalna będzie dostępna do bieżącej sesji. Aby rozłączyć zmienną, po prostu ustaw wartość zmiennej na ".

$ export var = "Tecmint to najlepsza strona dla artykułów Linux" $ echo $ var $ var = $ echo $ var 
Eksportuj lokalne zmienne środowiskowe w Linux

C.) Tutaj stworzyliśmy zmienną lokalną Var2 i ustaw go na wartość. Następnie wykonaliśmy na zamówienie, aby uruchomić polecenie tymczasowo wyczyszczenie wszystkich zmiennych lokalnych i innych „env -i” Komenda. To polecenie tutaj wykonało powłokę Bash, usuwając wszystkie inne zmienne środowiskowe. Po wejściu 'Wyjście' Na wywołanej powładzie bashu wszystkie zmienne zostaną przywrócone.

$ Var2 = "Tecmint to najlepsza strona dla artykułów Linux" $ echo $ var2 $ env -i bash $ echo $ var2 
Użyj polecenia ENV do zmiennych Unset

2. Ustaw i Unset Intern Environibs w systemie Linux

A.) Modyfikować .Bashrc Plik w katalogu domowym, aby wyeksportować lub ustawić zmienną środowiskową, którą musisz dodać. Po tym źródło plik, aby wprowadzić zmiany. Wtedy zobaczysz zmienną ('PŁYTA CD' w moim przypadku), wchodząc w życie. Ta zmienna będzie dostępna za każdym razem, gdy otwierasz nowy terminal dla tego użytkownika, ale nie dla zdalnych sesji logowania.

$ vi .Bashrc 

Dodaj następujący wiersz do .Bashrc Plik na dole.

Eksport CD = "To jest Tecmint Home" 

Teraz uruchom następujące polecenie, aby wziąć nowe zmiany i przetestować.

$ źródło .bashrc $ echo $ cd 
Ustaw zmienne środowiskowe dla całego użytkownika w Linux

Aby usunąć tę zmienną, po prostu usuń następujący wiersz w .Bashrc Plik i ponowne źródło:

B.) Aby dodać zmienną, która będzie dostępna do zdalnych sesji logowania (i.mi. Podczas SSH do użytkownika z systemu zdalnego), zmodyfikuj .bash_profile plik.

$ vi .bash_profile 

Dodaj następujący wiersz do .bash_profile Plik na dole.

Eksport var2 = "To jest Tecmint Home" 

Podczas pozyskiwania tego pliku zmienna będzie dostępna, gdy SSH dla tego użytkownika, ale nie po otwarciu nowego terminali lokalnego.

$ źródło .bash_profile $ echo $ var2 

Tutaj, Var2 nie jest początkowo dostępny, ale po uruchomieniu SSH w LocalHost zmienna staje się dostępna.

$ ssh [e -mail chroniony] $ echo $ var2 
Eksportuj zmienne szerokie użytkownika w profilu Bash

Aby usunąć tę zmienną, po prostu usuń linię .bash_profile plik, który dodałeś, i ponownie zasłaniaj plik.

NOTATKA: Te zmienne będą dostępne za każdym razem, gdy jesteś zalogowany do bieżącego użytkownika, ale nie dla innych użytkowników.

3. Zmienne środowiskowe systemowe i UNSET w systemie Linux

A.) Aby dodać zmienną bez loginy w systemie (i.mi. taki, który jest dostępny dla wszystkich użytkowników, gdy którykolwiek z nich otwiera nowy terminal, ale nie, gdy każdy użytkownik maszyny jest zdalnie dostępny) Dodaj zmienną do /etc/bash.Bashrc plik.

Eksport var = "To jest zmienna całego systemu" 
Dodaj zmienne środowiskowe z szerokim systemem

Następnie pozyskaj plik.

$ źródło /etc /bash.Bashrc 

Teraz ta zmienna będzie dostępna dla każdego użytkownika, gdy otworzy każdy nowy terminal.

$ echo $ var $ sudo su $ echo $ var $ su - $ echo $ var 
Sprawdź zmienne szerokie systemu

Tutaj dostępna jest ta sama zmienna źródło użytkownik, a także normalny użytkownik. Możesz to zweryfikować, logując się do innego użytkownika.

B.) Jeśli chcesz, aby jakakolwiek zmienna środowiska była dostępna, gdy któryś z użytkowników na komputerze jest zdalnie zalogowany, ale nie otwierając nowego terminału na komputerze lokalnym, musisz edytować plik - „/etc/profil”.

Eksport var1 = "Jest to zmienna w całym systemie tylko dla zdalnych sesji" 
Dodaj zmienne szerokie systemu w profilu

Po dodaniu zmiennej wystarczy ponownie skorzystać z pliku. Wtedy zmienna byłaby dostępna.

$ źródło /etc /profilu $ echo $ var1 

Aby usunąć tę zmienną, usuń linię z /itp./Profil Złóż i ponownie je źródło.

C.) Jeśli jednak chcesz dodać dowolne środowisko, które chcesz być dostępne w całym systemie, zarówno podczas zdalnych sesji logowania, jak i sesji lokalnych (i.mi. Otwarcie nowego okna terminala) dla wszystkich użytkowników, wystarczy wyeksportować zmienną w /itp./Środowisko plik.

Eksport var12 = "Jestem dostępny wszędzie" 
Dodaj zmienną systemową w pliku środowiska

Następnie po prostu pozyskują plik, a zmiany zaczną obowiązywać.

$ źródło /etc /środowisko $ $ var12 $ sudo su $ echo $ var12 $ exit $ ssh localhost $ echo $ var12 
Sprawdź zmienną środowiskową dla wszystkich użytkowników

Tutaj, jak widzimy, zmienna środowiskowa jest dostępna dla normalnego użytkownika, użytkownika root, a także podczas zdalnej sesji logowania (tutaj, do Lokalny Gospodarz).

Aby wyczyścić tę zmienną, po prostu usuń wpis w /itp./Środowisko złożyć i ponownie wyróżnij się lub zaloguj się ponownie.

NOTATKA: Zmiany wchodzą w życie, gdy pozyskujesz plik. Ale jeśli nie, to może być konieczne wylogowanie się i zalogowanie.

Wniosek

Zatem są to kilka sposobów modyfikowania zmiennych środowiskowych. Jeśli znajdziesz jakieś nowe i interesujące sztuczki dla tego samego, wspominaj w swoich komentarzach.