Jak rozwiązać problemy ze zmiennymi środowiskowymi, które nie są ustawione w skrypcie Bash

Jak rozwiązać problemy ze zmiennymi środowiskowymi, które nie są ustawione w skrypcie Bash

Zmienne środowiskowe są używane do modyfikacji zachowania środowiska. Te zmienne mogą zmienić sposób działania oprogramowania lub aplikacji. Konfigurowanie zmiennych środowiskowych ma wiele aplikacji w BASH. Takie zmienne mogą być używane do przechowywania wszystkiego.

Ponadto każdy system ma pewne zmienne środowiskowe, których używa podczas interakcji z użytkownikiem. W tym artykule najpierw przyjrzymy się podstawom scenariuszy Bash oraz skonfigurowanie i manipulowanie zmiennymi środowiskowymi, a następnie przejdziemy przez niektóre środki zaradcze dotyczące powiązanych problemów.

Skrypty bash

W Ubuntu prawie każde zadanie można wykonać za pomocą graficznego interfejsu użytkownika lub powłoki wiersza poleceń. Niektóre zadania są łatwiej wykonane za pomocą skorupy niż GUI. Skrypty to pliki składające się z poleceń. Wszystkie te polecenia są wykonywane podczas wykonywania pliku skryptu. Skrypty bash to takie skrypty, które używają interpretera Bash.

Przedłużenie skryptów jest .cii. Skrypty można zapisać za pomocą dowolnego edytora tekstu. Każdy skrypt bash zaczyna się od wiersza #!/bin/bash, który mówi systemowi, aby używał interpretera bash.

Zmienne środowiska

Zmienne środowiskowe mają właściwości lokalizacji procesu, dziedziczenia i wrażliwości na przypadki. Lokalizacja procesu oznacza, że ​​zmienne środowiskowe są wyłączne dla konkretnej instancji powłoki, chyba że określono inaczej. Dziedziczenie odnosi się do relacji rodzic-dziecko między różnymi środowiskami.

Czułość przypadku, jak sama nazwa wskazuje, oznacza, że ​​zmienne środowiskowe są wrażliwe na zmiany przypadków. Zasadniczo format zmiennych środowiskowych zależy od jego systemu nadrzędnego. Jednak wszystkie zmienne środowiskowe mają dwie wspólne cechy; Zmienna nazwa i przechowywana wartość.

Nazwa zmiennej może być wszystkim, ale wartość musi być w formacie zgodnym z typem zmiennej środowiska. Jest to szczególnie ważne w radzeniu sobie ze zmiennymi środowiskowymi stworzonymi przez system. Na przykład zmienna środowiskowa Lang jest odpowiedzialna za wybranie języka, którego aplikacja używa do komunikowania się z użytkownikiem. Jego wartość jest zależna od lokalizacji, ale zazwyczaj w USA będzie miała wartość „en_us.UTF-8 ”.

Manipulowanie zmiennymi środowiskowymi

Istnieje kilka graficznych narzędzi do szukania, konfigurowania i edytowania zmiennych środowiskowych, ale w tym artykule przyjrzymy się, jak radzić sobie z takimi zmiennymi w wierszu poleceń Bash.

Aby utworzyć nową zmienną środowiskową, możesz użyć polecenia eksportu. Istnieje wiele sposobów utworzenia zmiennej środowiskowej. Możesz najpierw zdefiniować zmienną, a następnie ją wyeksportować. Utworzymy zmienną wymienioną edytor z wartością nano (edytor tekstu), a następnie wyeksportuj.

$ Editor = nano
Edytor Export

Innym sposobem tworzenia zmiennych środowiskowych jest zdefiniowanie ich w samym poleceniu eksportu.

$ Export Editor = nano

Jeśli zamierzasz używać przestrzeni w wartości, musisz użyć podwójnych cytatów podczas tworzenia zmiennej środowiskowej, jak pokazano:

$ export var = „moja wartość”

Do wartości zmiennych środowiskowych można uzyskać za pomocą polecenia Echo, a następnie nazwy odpowiedniej zmiennej ze znakiem dolara.

$ echo $ var

Możesz także użyć polecenia PrintenV, aby uzyskać wartość dowolnej zmiennej środowiskowej.

$ printenv var

Problemy związane ze zmiennymi środowiskowymi

Podczas definiowania zmiennych środowiskowych w skryptach BASH, powszechne problemy są związane z relacją rodzic-dziecko-dziecko. Rozwiązaniem takich problemów jest zdefiniowanie zmiennych w środowisku nadrzędnym. Jak widzieliśmy wcześniej, zazwyczaj zmienne środowiskowe są tymczasowe i wyłączne dla instancji powłoki, w której są tworzone; Możemy jednak zdefiniować zmienne środowiskowe, które są trwałe i dostępne dla innych użytkowników.

Jeśli chcesz utworzyć zmienną środowiskową, która jest stała tylko dla twojego użycia, będziesz musiał edytować .plik bashrc. Znajduje się w katalogu /domu /użytkownika. Możesz dodać zmienną środowiskową var w .plik bashrc poprzez wykonywanie następujących poleceń:

$ nano/home/użytkownik/.Bashrc

Teraz używamy edytora tekstu Nano do modyfikacji zawartości pliku bash.

Eksport var = „Moja stała zmienna”

Aby zastosować zmiany w bieżącej sesji, pozyskaj .plik bashrc za pomocą następującego polecenia:

$ źródło .Bashrc

Zmienna VAR będzie dostępna dla każdej instancji powłoki uruchamianej przez bieżącego użytkownika.

Jeśli jednak chcesz utworzyć zmienną środowiskową, która jest dostępna dla wszystkich użytkowników, musisz ją podać w pliku /etc /środowisko. Na przykład możemy dodać globalną zmienną środowiskową do pliku /etc /środowisko, wykonując następujące polecenia:

$ nano /etc /środowisko

Tak jak wcześniej z .plik bashrc, edytujemy teraz zawartość pliku środowiska.

Export global = "To zmienna globalna."

Źródło plik środowiska do zastosowania zmian poprzez wpisanie następującego polecenia:

$ źródło /etc /środowisko

Jeśli chcesz utworzyć zmienną środowiskową, która przechowuje wynik polecenia wykonanego w skrypcie BASH, będziesz musiał użyć podstawienia parametrów. Ogólny format podstawienia parametrów obejmuje użycie polecenia eksportu, a następnie polecenie ze znakiem dolara zamkniętym w nawiasach, jak pokazano:

$ export var = $ ()

Na przykład, jeśli chcesz przechowywać zmienną środowiska powłoki w innej zmiennej Myshell, możesz użyć następującego polecenia:

$ Export Myshell = $ (echo $ Shell)

Wniosek

W tym artykule przeszliśmy przez podstawy scenariuszy i zmiennych środowiskowych. Ponadto zrozumieliśmy, jak manipulować zmiennymi środowiskowymi, niektóre typowe problemy związane z tworzeniem takich zmiennych w skryptach bash i jak je naprawić.