Jak ustawić i niezareść zmienne środowiskowe lokalne, użytkownika i systemowe w Linux
- 4735
- 671
- Maurycy Napierała
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 środowiskoweZa 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 $ var1Ustaw 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 $ varEksportuj 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 $ var2Uż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 $ cdUstaw 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 $ var2Eksportuj 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 $ varSprawdź 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 $ var12Sprawdź 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.
- « 8 Linux „rozdzielone” rozkazy tworzenia, rozmiaru i ratowania partycji dysku
- Jak zoptymalizować i kompresować obrazy JPEG lub PNG w Linux Commandline »