Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Променливите на Shell са важни за гладкото функциониране на всяка Linux система. Например, всеки път, когато стартирате програма или команда, вашата система преглежда променливата PATH, за да провери дали програмата присъства. Познаването на променливите на обвивката е важно за ежедневната ви употреба или администриране на Linux системи.

Значението на променливите на Shell

Променливата на обвивката е контейнер за съхранение на информация, използвана от вашата Linux система, програми или скриптове.

В Linux има различни типове обвивки или интерпретатори на командния ред, всички от които използват широко променливи. Някои от важните роли, които играят променливите на shell включват:

  • Променливите на Shell ви позволяват да съхранявате и манипулирате стойности в shell и могат да манипулират резултатите в изчисления или други операции.
  • Те предоставят начин за предаване на стойности между скриптове и програми
  • instagram viewer
  • Можете да използвате променливи на обвивката, за да персонализирате поведението на програмите

Променливите на Shell са много гъвкави; можете също да създадете свои собствени персонализирани променливи, но ето някои от променливите по подразбиране, които идват с вашата система.

1. ПЪТЕКА

Променливата PATH указва директориите, където системата трябва да търси изпълними файлове, когато въведете команда в терминала.

Това е променлива на средата за цялата система и включва разделен с двоеточие списък с директории. Всяка директория се търси последователно за изпълним файл със същото име като командата, която сте въвели.

Например, ако влезете командата ls в терминала, системата ще търси в директориите, посочени в променливата PATH за командата с име ls. Ако намери файла, ще го стартира; ако не, ще покаже съобщението за грешка „командата не е намерена“.

Променливата PATH е важна, защото ви позволява да изпълнявате команди от всяка директория, без да се налага да указвате пълния път до изпълнимия файл. Например, ако имате изпълнимия файл "ls" в /usr/bin директория, можете да изпълните командата ls от всяка директория, като просто напишете ls, вместо да посочва пълния път, т.е. /usr/bin/ls.

Можете да видите текущата стойност на променливата PATH, като изпълните командата echo, както следва:

ехо $PATH

Можете също така да промените стойността на променливата PATH, като добавите или премахнете директории от списъка. Това може да бъде полезно, ако искате да добавите директория, съдържаща вашите собствени изпълними файлове или персонализирани скриптове, или ако искате да промените директориите, които се търсят при изпълнение на команди.

2. У ДОМА

В Linux променливата HOME е променлива на средата, която указва пътя до домашната директория на потребителя. Защо това е толкова важно? Добре, Linux е многопотребителска операционна система и домашната папка е специална директория във вашата система, свързана с всеки потребител.

Домашната директория обикновено се използва за съхраняване на лични файлове на потребителя, като документи, снимки, музика и др.

Променливата HOME обикновено се задава автоматично, когато влезете и се използва от много програми и скриптове за намиране на домашната директория на потребителя. Например, когато стартирате командата cd без никакви аргументи, тя използва променливата HOME, за да отиде до домашната директория на потребителя.

Много програми използват променливата HOME, за да съхраняват конфигурационни файлове или други данни в домашната директория на потребителя. Можете да видите текущата стойност на променливата HOME, като изпълните ехо $HOME команда.

3. ПОТРЕБИТЕЛ

Променливата USER указва потребителското име на влезлия в момента потребител. Задава се автоматично, когато влезете и обикновено се използва от програми и скриптове за определяне на потребителското име на текущия потребител.

Променливата USER често се използва в скриптове за персонализиране на поведението на програма въз основа на текущия потребител. Например, скрипт може да провери стойността на променливата USER и да извърши определени действия само ако текущият потребител има root или sudo привилегии.

Можете също да използвате променливата за изпълнение на определени общи команди. Например, когато добавяте вашия потребител към докер групата, можете просто да изпълните следната команда, вместо да въвеждате действителното потребителско име:

sudo usermod -aG докер $ПОТРЕБИТЕЛ

4. ЧЕРИДА

Обвивката е програма, която предоставя интерфейс на командния ред (CLI) за взаимодействие с операционната система.

Повечето Linux системи използват Bourne Again Shell (Bash) по подразбиране, но има много алтернативи. C shell (csh), Z shell (Zsh), риба и др.

Променливата SHELL указва пътя до обвивката по подразбиране на потребителя. Задава се автоматично, когато влезете.

Освен това променливата се използва в скриптове за персонализиране на поведението на програми въз основа на обвивката по подразбиране на потребителя. Например, скрипт може да провери стойността на променливата SHELL и да използва различен синтаксис или опции в зависимост от използваната обвивка.

Можете да видите текущата стойност на променливата SHELL, като изпълните ехо $SHELL. Можете да промените вашата обвивка по подразбиране с помощта на командата chsh.

5. хора с увреждания

Още една важна променлива на средата в Linux, PWD съхранява текущата ви работна директория. За разлика от повечето променливи на средата, които са предимно статични, тази се актуализира от обвивката винаги, когато вие променете директориите с помощта на командата cd.

Можете да използвате променливата PWD във вашите шел скриптове, за да препращате лесно към текущата работна директория. Стойността на променливата е подобна на тази, която получавате, когато изпълните командата pwd.

6. HOSTNAME

Име на хост или устройство е уникално име, използвано за идентифициране на вашия компютър в мрежа. Например, когато искате да свържете SSH към машина, можете просто да използвате името на хоста вместо IP адреса.

Променливата HOSTNAME е променлива на средата, която просто указва името на хоста на системата. Задава се автоматично при зареждане на системата и обикновено се използва за идентифициране на системата, когато е свързана към мрежа. Има няколко начина, по които вие може да промени името на хоста в Linux.

Променливата HOSTNAME също се използва от програми и скриптове за идентифициране на системата и персонализиране на нейното поведение въз основа на името на хоста. Скриптът обикновено проверява стойността на променливата HOSTNAME и изпълнява определени действия само ако системата е конкретен хост.

Създаване на персонализирана променлива в Linux

Освен променливите по подразбиране на Linux, които се задават автоматично за вас. Можете също така да дефинирате свои собствени променливи на обвивката, като използвате командата за експортиране. За да създадете нова променлива, наречена GREETING със стойност "Hello World", можете да използвате следната команда:

износ ПОЗДРАВ="Здравей свят"

След това можете да използвате променливата GREETING във вашите скриптове или в командния ред точно като всяка друга променлива на средата.