В Linux променливите на средата са динамични именовани стойности, които функционират като заместител за съхранена информация в системата, използвана от приложенията на командния ред. Подобно на всяка друга променлива, тя се състои от две части - име и свързана стойност.
Ето бърз поглед върху форматирането на променливи:
KEY = стойност KEY = "това също е стойност" KEY = стойностA: стойностB
Няколко неща за отбелязване:
- Не трябва да има интервал преди или след символа “=”.
- Ако стойностите съдържат празни интервали, тогава се използват кавички.
- Можете да присвоите множество стойности на променлива. Всяка стойност трябва да бъде разделена с двоеточие (:) знак.
- Имената на променливите са чувствителни към малки и големи букви. Като такива „KEY“ и „key“ означават две различни променливи. По споразумение променлива на околната среда трябва да бъде написана в ГОРНИ СЛУЧАИ.
Използвайки променливи на околната среда, можете потенциално да персонализирате как работи вашата система, включително поведението на приложенията, инсталирани на вашата система.
Например можете да използвате променливи на средата, за да съхранявате информация за приложения по подразбиране като текстов редактор, браузър или дори пътя към изпълним файл. Това ви позволява да модифицирате системата според вашите лични нужди или нуждите на група потребители.
Сега, за това четене, ние събрахме подробен урок, обсъждащ как да зададете и изброите променливи на околната среда на вашия компютър с Linux. Това ще ви даде работещо разбиране за използването на променливи на околната среда за персонализиране на вашата система.
Така че без повече шум, нека започнем:
Каква е разликата между променливите на околната среда и променливите на черупката?
Преди да започнем, нека първо разберем разликите между променливата на околната среда и променливата на черупката.
Казано по-просто, „променлива на околната среда“ е достъпна в световен мащаб и се наследява от всички породени дъщерни процеси или черупки.
Променливите на черупката, от друга страна, са променливи, които се прилагат само за текущия екземпляр на черупката. Bash, zsh и всички останали черупки имат свой собствен набор от вътрешни променливи на черупката. Те обикновено се използват за проследяване на временно подходящи данни, като текущата работна директория.
Сега можете да направите променливата на черупката достъпна като променлива на околната среда. Всичко, което трябва да направите, е да използвате командата “export” заедно с името на променливата. Това ще експортира стойността му в световен мащаб, така че новите програми и под-черупки вече могат да го използват.
Ето пример за това как се прави:
Ще разгледаме по-задълбочено това в следващ раздел.
Как да изброите и зададете променливи на средата
Налични са много команди, които да ви помогнат да изброите и зададете променливи. Ето бърз преглед на някои от най-често срещаните команди, които ще използваме в този урок:
- износ: използва се за експортиране на стойността на новоприсвоена променлива на средата.
- env: използва се за стартиране на друга програма в персонализирана среда, без да е необходимо да модифицирате текущата. Може да се използва с аргумент за отпечатване на списък с всички настоящи променливи на средата в черупката.
- принтенв: използва се за отпечатване на всички (или определени) променливи на околната среда и дефиниции на текущата среда.
- комплект: използва се за присвояване или дефиниране на среда или променлива на черупката. Ако се използва без аргумент, той ще отпечата списък с всички променливи - това включва променливи на околната среда, променливи на черупката и функции на черупката.
- неустановено: използва се за изтриване на определена среда или променлива на черупката.
Използвайки тези команди, ще можете да изброите и зададете променливи на средата във вашата Linux система.
Списък на променливите на средата
Най-често използваната команда за показване на променливите на околната среда е “printenv”.
Ако използвате името на променлива като аргумент за командата, тя ще покаже стойността на променливата. Ако обаче се използва без аргумент, той ще изброи всички променливи на средата в системата.
Ето няколко примера:
да кажем, че искате да видите стойността на променливата на средата „HOME“. За да направите това, трябва да изпълните следната команда:
$ printenv НАЧАЛО
Това ще ви даде пътя на влезлия в момента потребител:
Можете също така да предадете два или повече аргумента чрез командата “printenv”, както следва:
$ printenv PWD LANG
Ще получите подобен изходен екран:
Сега, ако стартирате “printenv” без аргумент, той ще покаже списък с всички променливи на средата.
Сега командите printenv и env показват само променливите на средата. Но какво, ако искате да изброите всички променливи във вашата система? Това включва всичко, започвайки от променливите на околната среда до променливите на черупката и дори функциите на черупката.
Е, тогава можете да използвате командата "set" без аргумент:
Както можете да видите на изображението, командата ще покаже голям подробен списък с всички променливи. Ако искате да изведете изхода, можете вместо това да използвате тази команда:
$ set | по-малко
Освен всичко това, можете също да използвате командата echo, ако искате да отпечатате стойностите на променливите на черупката. Просто въведете ехото и предайте съответната променлива на черупката като свой аргумент. Ето пример, използвайки го с променливата BASH_VERSION.
За да ви помогнем да експериментирате с тези команди във вашата система, ето списък с някои от най-променливите на командната среда.
- РЕДАКТОР - Файловият редактор по подразбиране, който ще се използва, когато въвеждате редактора в терминала.
- У ДОМА - Началната директория на текущия потребител.
- ЕЗИК - Текущите локални настройки.
- ЛОГНИМА - Името на текущия потребител.
- LS_COLORS - Определя всички цветови кодове, използвани за добавяне на незадължителен цветен изход към командата ls. Тези цветове се използват за разграничаване на различните типове файлове и правят изхода по-лесно смилаем.
- ПОЩА - Местоположението, където се съхраняват имейлите на текущия потребител.
- ПЪТ - Списък на директориите, които трябва да се търсят при изпълнение на команди. Когато стартирате команда, системата ще търси тези директории в изброения ред и ще използва първия намерен изпълним файл.
- PWD - Местоположение на текущата работна директория.
- OLDPWD - Местоположение на предишната работна директория.
- ШЕЛ - Пътят на текущата обвивка на потребителя, напр.ж., bash или zsh.
- СРОК - Текущата емулация на терминал.
- ПОТРЕБИТЕЛ - Текущият влязъл потребител.
Сега нека поговорим за това как да зададем променливите на средата.
Задаване на променливи на средата
Обичайната практика за създаване на променлива на околната среда е да се направи променлива на черупката и след това да се експортира като променлива на средата.
Сега, за да създадем нова променлива на черупката, използваме следната команда:
MY_VAR = FOSSLinux
Вече можете да използвате командата echo, за да проверите дали променливата е зададена с предоставената стойност.
$ echo $ MY_VAR
По същия начин използвайте printenv, за да видите дали променливата е променлива на околната среда. Ако не, ще получите празен изход.
$ printenv MY_VAR
Също така проверете дали променливата се наследява от под-черупката, като използвате следната команда:
$ bash -c 'ехо $ MY_VAR'
Тук също ще получите празен изход, както е показано на изображението по-долу:
Сега, когато зададохме променливата на черупката MY_VAR и я проверихме, можем да използваме командата за експортиране, за да я зададем като променлива на околната среда.
$ износ MY_VAR
След като приключите, можете да използвате предишните команди, за да видите дали е посочена като променлива на околната среда и да видите дали е наследена от под-черупката.
Можете също така да зададете променлива на средата, като използвате един ред, както е показано по-долу:
$ export NEW_VAR = "Това е нова променлива"
Имайте предвид обаче, че променливите на средата, създадени по този начин, са достъпни само за текущата сесия. След като излезете или отворите нова обвивка, променливата на околната среда ще бъде загубена.
Постоянни и непостоянни променливи на околната среда
Както беше обсъдено по-рано, когато модифицирате променливите на околната среда в текущата си черупка, тя ще бъде загубена веднага щом излезете от черупката. Това се нарича непостоянни променливи на средата.
За да ги направите постоянни или с други думи, постоянни, ще трябва да редактирате конфигурационните файлове на bash.
Когато стартирате нова сесия, всички променливи на средата се четат от следните файлове. Като такива можете да добавите променливи на средата към тези файлове, за да ги направите постоянни.
- / и т.н. / околна среда: Този файл съдържа всички системни променливи на средата. Можете да добавите нови променливи, като използвате следния формат:
$ FOO = бар $ MY_VAR = FOSSLinux
- / и т.н. / профил: Този файл включва набори от променливи, които се зареждат при въвеждане на черупка за вход на bash. Можете да декларирате променлива на средата в този файл, като използвате командата за експортиране.
$ export JAVA_HOME = "/ path / to / java / home" $ export PATH = $ PATH: $ JAVA_HOME / bin
- Можете също така да зададете файлове на околната среда в специфични конфигурационни файлове за черупка на потребител. Например, ако използвате Bash, можете да декларирате променливата вътре ~ /.bashrc, използвайки следната команда:
$ export PATH = "$ HOME / bin: $ PATH"
За да заредите новата променлива на средата в текущата сесия на обвивката, ще трябва да използвате командата source, както следва:
$ източник ~ /.bashrc
След като преминете през тези стъпки, всички променливи на околната среда, които току-що добавихте, ще станат постоянни и ще останат непокътнати, дори ако излезете от черупката.
Заключение
Така че това беше нашето задълбочено ръководство за това как да изброим и зададем променливи на средата в Linux. Надяваме се, че това Ви е било полезно и образователно. В случай, че имате въпроси или срещнете някакви проблеми, оставете ни коментар и ние ще се свържем с вас с бърз отговор.
Ако започнете с Linux, можете да посетите нашата серия Learn Linux, където ние обхващаме задълбочени уроци и ръководства, които ще са от полза както за начинаещи, така и за опитни потребители на Linux.